Rest Sharp的AddJsonBody在url中发送参数而不是在body中发送POST请求

问题描述 投票:0回答:1

我将我的应用程序设置为发送一个POST请求,其中包含要在body中传递的参数

qs.name = name; qs.id = id request.AddJsonBody(qs)

但是在运行应用程序时,我可以在URL中看到各个参数作为查询字符串参数

restsharp
1个回答
0
投票

如果我理解正确你想发送一个json a在体内发布请求,你应该使用AddParameter(),而不是AddJsonBody();

这是一个简单的例子

public IRestResponse ExamplePost(int id, string name)
        {
            object tmp = new
            {
                Id = id,
                Name = name

            };
            string json = JsonConvert.SerializeObject(tmp);
            var Client = new RestClient();
            Client.BaseUrl = new Uri(YourEndPoint); //Your Url 
            var request = new RestRequest(Method.POST);
            request.Resource = string.Format("/someurl");
            request.AddParameter("application/json", json, ParameterType.RequestBody);
            IRestResponse response = Client.Execute(request);
            Logger.LogInfo($"Sending : {json}");


            return response;
        }

这将发送以下json

 {"Id":9939,"Name":"Zander"}
© www.soinside.com 2019 - 2024. All rights reserved.