es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo enviar un objeto a través del método get de axios desde React a una API de .NET?

Tengo la API .NET

Ejemplo:

[Route("[controller]")]
[ApiController]
public class UserController : ControllerBase
{
    [HttpGet("GetUser")]
    public ActionResult GetUserDetails(User userReq)
    {
        var response = service.GetUser(userReq);
        return Ok(response);
    }
}

Y el ejemplo de la clase Usuario:

public class User
{
    public int? ID { get; set; }
    public string Name { get; set; }
    public int? Age { get; set; }
    public char? Gender { get; set; }
    public string Email { get; set; }
    public int? Phone { get; set; }
}

Estoy llamando a la API de la siguiente manera usando axios en React, Ejemplo:

axios.get(String(APIUrls.GetUser),
{
    params: {
        ID: null,
        Name: null,
        Age: null,
        Gender: null,
        Email: null,
        Phone: null
    },
}).then(response => {
    console.log(response.data);
})
.catch((err) => {
    console.log(err);
});

Puedo obtener una respuesta a través de Postman, pero cuando intento desde mi aplicación no funciona.

Error:

Código de estado: 415

{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.13","title":"Tipo de medio no soportado","status":415,"traceId":"xxxxxxxxxxxx:00000005"}
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El error que estás obteniendo es “415 Unsupported Media Type”, lo que significa que el servidor no puede procesar la carga útil enviada en la solicitud. En este caso, parece que la carga útil de la solicitud no está en el formato esperado o en el tipo de contenido.

    Para solucionar esto, puedes intentar establecer la cabecera Content-Type en “application/json” en tu solicitud axios, como se muestra a continuación:

    axios.get(String(APIUrls.GetUser),
    {
        headers: {
            'Content-Type': 'application/json'
        },
        params: {
            ID: null,
            Name: null,
            Age: null,
            Gender: null,
            Email: null,
            Phone: null
        },
    }).then(response => {
        console.log(response.data);
    })
    .catch((err) => {
        console.log(err);
    });
    

    Esto garantizará que la carga útil se envíe como un objeto JSON, que es el formato esperado para la API web de ASP.NET Core. Además, asegúrate de que la URL de la API sea correcta y de que el servidor esté en funcionamiento y accesible.

Comments are closed.