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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
HttpResponseMessage response1 = await client.GetAsync("http://localhost:6000/api/" + "Utilisateur/AjouterUtilisateur1/" + "Machaine");
Sur la classe UtilisateurController, j’ai le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 !