Saltar al contenido

El recurso solicitado no es compatible con el método HTTP ‘GET’

Solución:

Utilice los atributos de System.Web.Http espacio de nombres en sus acciones WebAPI:

    [System.Web.Http.AcceptVerbs("GET", "POST")]
    [System.Web.Http.HttpGet]
    public string Auth(string username, string password)
    {...}

La razón por la que no funciona es porque estaba usando los atributos que son del MVC espacio de nombres System.Web.Mvc. Las clases en el System.Web.Http los espacios de nombres son para WebAPI.

En mi caso, la firma de la ruta era diferente del parámetro del método. Tenía id, pero estaba aceptando documentId como parámetro, eso causó el problema.

[Route("Documents/{id}")]   <--- caused the webapi error
[Route("Documents/{documentId}")] <-- solved
public Document Get(string documentId)
{
  ..
}

solo usa este atributo

[System.Web.Http.HttpGet]

no necesito esta línea de código:

[System.Web.Http.AcceptVerbs("GET", "POST")]
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *