【发布时间】:2017-10-16 18:36:46
【问题描述】:
在我的 UWP 应用程序中,用户可以在文本字段中输入 json 正文,并通过 restsharp 便携式将其设置为 POST Rest-Request 中的正文。
所以用户在文本框中输入这个(值绑定到 requestBody):
{ "string": "Hello World"}
然后我将字符串添加到请求中:
request.AddParameter("application/json; charset=utf-8", requestBody, ParameterType.RequestBody);
主体已添加,但不正确。 服务器不解析传入的 json 正文。
我不知道是什么问题,但我认为有些字符编码不正确。
有没有人设法以这种方式添加json主体?
此解决方案有效:
var b = JsonConvert.DeserializeObject<Object>(requestBody);
request.AddJsonBody(b);
但这不是干净的方式
【问题讨论】:
-
完整的请求定义是什么?你也加了
request.RequestFormat = DataFormat.Json;吗? -
RestRequest 类没有 RequestFormat 成员
-
你能把整个代码都过去吗?
-
var restClient = new RestClient(baseUri); var request = new RestRequest(path, Method.POST); request.AddParameter("application/json; charset=utf-8", requestBody, ParameterType.RequestBody); ar response = await restClient.Execute
-
您是否尝试过 Microsoft.Net.HttpClient,因为 ResharpPortable 不再维护,所以看起来更直接。
标签: c# json rest uwp restsharp