我正在尝试通过 c# 中的 Restsharp 发送 get 请求,我已在 json 正文中添加了密钥,但我收到的错误为密钥错误
var client = new RestClient("http://myurl.com/api/plant/allPlants");
var request = new RestRequest(Method.GET);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Accept", "*/*");
request.AddJsonBody(new { plantId = "Plant12" });
myresponse = client.Execute(request);
我正在尝试通过 c# 中的 Restsharp 发送 get 请求,我已在 json 正文中添加了密钥,但我收到的错误为密钥错误
不确定,但似乎将
TObject
提供给 AddJsonBody
不会生成有效的 JSON 字符串。
也许你应该使用重载,它接受 JSON 字符串而不是对象本身。
这是我使用过的示例:
var request = new RestRequest("http://foo.bar");
// As TObject
request.AddJsonBody(new { SomeProperty = "SomeValue" } );
// As pure JSON string
request.AddJsonBody("{ \"SomeProperty\": \"SomeValue\" }");
// As string from serialized TObject (by System.Text.Json)
request.AddJsonBody(System.Text.Json.JsonSerializer.Serialize(new { SomeProperty = "SomeValue" } ));
// As string from serialized TObject (by Newtonsoft.Json)
request.AddJsonBody(Newtonsoft.Json.JsonConvert.SerializeObject(new { SomeProperty = "SomeValue" } ));
我收到的结果: