J'essaie simplement de passer body
a int
et cela ne fonctionne pas Pourquoi dois-je créer une classe avec une propriété de type int? (alors ça marche)
FONCTIONNE
[HttpPost]
[Route("api/UpdateMainReversed")]
public IHttpActionResult UpdateMainVerified(DataAccess.Entities.RequestMain mainValues)
{ ....}
NE FONCTIONNE PAS
[HttpPost]
[Route("api/UpdateMainReversed")]
public IHttpActionResult UpdateMainVerified(int mainId)
{ ....}
Test avec Postman
http: // localhost: 13497/api/UpdateMainReversed
Corps
{
"mainId" : 1615
}
1.Votre [HttpPost] attend un int mais du corps vous passez un objet json. vous devriez passer json string comme ci-dessous. Pas besoin de mentionner le nom du paramètre
2.vous devriez utiliser [FromBody] comme ci-dessous
[HttpPost]
public void UpdateMainVerified([FromBody] int mainid)
{
}
ce lien l'explique bien
Définissez l'attribut FromBody
.
Pour forcer l'API Web à lire un type simple à partir du corps de la demande, ajoutez l'attribut
[FromBody]
au paramètre.
Pour plus de détails Lien
[HttpPost]
[Route("api/UpdateMainReversed")]
public IHttpActionResult UpdateMainVerified([FromBody] int mainId)
{ ....}