none
Ayuda para obtener un JSON de error C# RRS feed

  • Pregunta

  • Buen día.

    Tengo un API que envía un JSON por método POST, pero al enviar un valor erróneo este devuelve un error por JSON. Uso postman para verificar y devuelve un JSON, eso mismo quisiera aplicar en C# pero no he podido realizarlo. Mí codigo es el siguiente:

                    HttpWebRequest request = WebRequest.Create(sUrlEnviar) as HttpWebRequest;
                    request.Method = sMetodo;
                    request.ContentType = "application/json";
                    request.Headers.Add("Authorization", sToken);
                    request.Timeout = iTiempoRespuesta;

                    Byte[] bt = Encoding.UTF8.GetBytes(sJson);

                    try
                    {
                        Stream st = request.GetRequestStream();
                        st.Write(bt, 0, bt.Length);
                        st.Close();

                        using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
                        {
                            Stream stream1 = response.GetResponseStream();
                            StreamReader sr = new StreamReader(stream1);
                            sRespuestaJson = sr.ReadToEnd();
                        }

                        return true;
                    }

                    catch (HttpException ex)
                    {
                        return false;
                    }

    Estaré agradecido con sus ayudas.

    miércoles, 8 de enero de 2020 22:06

Todas las respuestas

  • hola

    Recomendaria uses la class HttpClient en lugar de HttpWebRequest

     Calling Web API Using HttpClient

    mira como usa

    Read response from Web API using HttpClient in C#

    el response.Content

    HttpClient client = new HttpClient(); HttpContent inputContent = newStringContent(inputJson, Encoding.UTF8, "application/json"); HttpResponseMessage response = client.PostAsync(apiUrl + "/GetCustomers", inputContent).Result; if (response.IsSuccessStatusCode) {

    var result = response.Content.ReadAsStringAsync().Result; List<Customer> customers = (new JavaScriptSerializer()).Deserialize<List<Customer>>(result);


    para obtener la respuesta del servicio como json que luego deserializa

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 8 de enero de 2020 22:55