Je souhaite envoyer une requête POST à une URL comme celle-ci:
http://localhost/resource?auth_token=1234
Et je veux envoyer JSON dans le corps. Mon code ressemble à ceci:
var client = new RestClient("http://localhost"); var request = new RestRequest("resource", Method.POST); request.AddParameter("auth_token", "1234"); request.AddBody(json); var response = client.Execute(request);
Comment définir le paramètre auth_token
sur GET et effectuer la demande en tant que POST?
Cela devrait fonctionner si vous 1) ajoutez le jeton à l’URL de la ressource et 2) spécifiez ParameterType.UrlSegment comme ceci:
var client = new RestClient("http://localhost"); var request = new RestRequest("resource?auth_token={authToken}", Method.POST); request.AddParameter("auth_token", "1234", ParameterType.UrlSegment); request.AddBody(json); var response = client.Execute(request);
C’est loin d’être idéal – mais le moyen le plus simple que j’ai trouvé … espère toujours trouver un meilleur moyen.
La version actuelle de RestSharp a une méthode courte qui utilise un modèle:
var request = new RestRequest("resource?auth_token={token}", Method.POST); request.AddUrlSegment("token", "1234");
Sinon, vous pouvez append un paramètre sans modèle:
var request = new RestRequest("resource", Method.POST); request.AddQueryParameter("auth_token", "1234);
ou
var request = new RestRequest("resource", Method.POST); request.AddParameter("auth_token", "1234", ParameterType.QuerySsortingng);