Web API - Problème avec les appels PostAsync (http Rest)
Bonjour,
J’ai un big problème avec le routage (je suppose) pour les appels http Post. J’utilise .Net 6.
J’ai l’appel suivant qui fonctionne bien :
Code:
1 2
|
HttpResponseMessage response1 = await client.GetAsync("http://localhost:6000/api/" + "Utilisateur/AjouterUtilisateur1/" + "Machaine"); |
Sur la classe UtilisateurController, j’ai le code suivant :
Code:
1 2 3 4 5 6 7 8
|
[Route("api/[controller]")]
[ApiController]
public class UtilisateurController : Controller
[HttpPost("AjouterUtilisateur1/{jsonArgs}")]
public ActionResult<string> AjouterUtilisateur1(string jsonArgs)
{
} |
Cela fonctionne bien.
Maintenant , je voudrais faire un Post au lieu du Get. Donc sur l’appelant, j’ai le code :
Code:
1 2 3
|
HttpContent httpContent1 = new StringContent("MaChaine", Encoding.UTF8);
HttpResponseMessage response1 = await client.PostAsync("http://localhost:6000/api/" + "Utilisateur/AjouterUtilisateur1", httpContent1); |
Et sur le serveur, j’ai le code :
Code:
1 2 3 4 5 6 7 8 9
|
[Route("api/[controller]")]
ApiController]
public class UtilisateurController : Controller
[HttpPost("AjouterUtilisateur1")]
public ActionResult<string> AjouterUtilisateur1(string jsonArgs)
{
} |
Le constructeur de la classe est bien exécuté mais c’est tout.
Cela me donne l’erreur suivante dans response1 (au niveau de l’appelant) :
{StatusCode: 400, ReasonPhrase: 'Bad Request', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
Date: Fri, 14 Jul 2023 17:37:53 GMT
Server: Kestrel
Transfer-Encoding: chunked
Content-Type: application/problem+json; charset=utf-8
}}
Merci pour votre aide !