首页 > 解决方案 > Rest Sharp 的 AddJsonBody 在 url 中而不是在 body 中发送参数以进行 POST 请求

问题描述

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

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

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

标签: restsharp

解决方案


如果我理解正确,您想在正文中发送一个 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"}

推荐阅读