none
Saber que variable recibe el api cuando envio un json utilizando httpwebrequest RRS feed

  • Pregunta

  • Estoy tratando de enviar un json a mi api, utilizando la librería newtonsoft.json para convertir objeto en json, utilizo la libreria httpwebrequest para hacer la petición a la web, pero no se que variable esta enviando hacia el api.

    Dim data = Encoding.UTF8.GetBytes(jsonString)
    Dim result_post = ApiService.SendRequest("tabla", data, "application/json", "POST")

    Public Function SendRequest(tabla As String, jsonDataBytes As Byte(), contentType As String, method As String) As String
            Dim response As String
            Dim request As HttpWebRequest
            Dim url As String = servidor + "/" + tabla + "/save"
            Dim uri As New Uri(url)
    
            request = HttpWebRequest.Create(uri)
            'ServicePointManager.UseNagleAlgorithm = False
            'ServicePointManager.Expect100Continue = False
            request.ContentLength = jsonDataBytes.Length
            request.ContentType = contentType
            request.Method = method
    
            Using requestStream = request.GetRequestStream
                requestStream.Write(jsonDataBytes, 0, jsonDataBytes.Length)
                requestStream.Close()
    
                Using responseStream = request.GetResponse.GetResponseStream
                    Using reader As New StreamReader(responseStream)
                        response = reader.ReadToEnd()
                    End Using
                End Using
            End Using
    
            Return response
        End Function

    si hace la conexion, pero no se que variable esta mandando por post, no logro verlo. gracias de antenamo por la ayuda que me puedan prestar.

    jueves, 25 de marzo de 2021 8:14

Respuestas

  • Con esta subrutina lo que estás enviando en el cuerpo de la llamada a la API es lo que tengas en la variable jsonDataBytes:

    requestStream.Write(jsonDataBytes, 0, jsonDataBytes.Length)

    Esa variable contiene la información ya convertida en bytes, y la estás pasando como parámetro a la subrutina. Eso implica que la "auténtica" variable que se transmite será aquella que hayas previamente serializado para producir los bytes que aquí te llegan dentro de jsonDataBytes. En otras palabras, se trata de lo que antes te llegó en jsonString. Pero aquí no vemos qué es lo que serializaste dentro de jsonString.

    jueves, 25 de marzo de 2021 16:38

Todas las respuestas

  • Con esta subrutina lo que estás enviando en el cuerpo de la llamada a la API es lo que tengas en la variable jsonDataBytes:

    requestStream.Write(jsonDataBytes, 0, jsonDataBytes.Length)

    Esa variable contiene la información ya convertida en bytes, y la estás pasando como parámetro a la subrutina. Eso implica que la "auténtica" variable que se transmite será aquella que hayas previamente serializado para producir los bytes que aquí te llegan dentro de jsonDataBytes. En otras palabras, se trata de lo que antes te llegó en jsonString. Pero aquí no vemos qué es lo que serializaste dentro de jsonString.

    jueves, 25 de marzo de 2021 16:38
  • Hola Diego,

    ¿Alguna novedad sobre la consulta realizada?

    Gracias por usar los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    jueves, 25 de marzo de 2021 17:05
    Moderador