Rest Sharp的AddJsonBody在url中而不是在POST请求中以正文形式发送参数

时间:2019-02-22 16:14:38

标签: restsharp

我将我的应用程序设置为发送POST请求,并使用

在参数中传递参数

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

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

1 个答案:

答案 0 :(得分: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"}