使用如下所示的端点:
[HttpPost("[action]")]
public async Task<ActionResult> Import([FromBody]string request)
{
var list = JsonConvert.DeserializeObject<List<RequestQuote>>(request);
return NoContent();
}
请求似乎总是空的。今天早些时候它工作了一段时间,但不确定发生了什么变化。
这是我进行调用的客户端。
var json = JsonConvert.SerializeObject(payload);
var data = new StringContent(json, Encoding.UTF8, "application/json");
var response = client.PostAsJsonAsync($"{endpoint}/api/v1.0/BatchImport/Import", data);
有效负载是一个列表
即使在使用
Import([FromBody] List<RequestQuote> request)
我也有同样的问题。
3条答案
按热度按时间kuuvgm7e1#
代码中有一个错误,数据被序列化了两次,第二次是在使用PostAsJsonAsync时。
行动应该是
jc3wubiy2#
如果你的控制器有
[ApiController]
属性,你可以把你想要解析的数据类型作为方法的参数。我相信发生的事情是你的程序试图把JSON解析成字符串类型,这不是你想要的。你可以试试下面的代码,它应该能达到你想要的效果。或者,this post建议直接提取请求的主体,这两种解决方案都应该有效。
k3bvogb13#
json对我来说是正确的。但是在staticContent之后,我认为它崩溃了。我发送到Service的模型是null。下面是我的项目代码:How can I send Model to service in xamarin forms. Something wrong while posting?