嗨其他程序员,
我正在使用POSTMAN检查我的HTTP POST-Request到我的ASP.NET CORE API方法。该方法应该只返回作为参数给出的JSON字符串(用于测试),但我一直都是null。
MY JSON看起来像这样:
datetime
MY API函数如下所示:
{
"car": {
"licenseplate": "XX-XXX-X",
"make": "Audi",
"model": "A7",
"year": 2017,
"fueltype": 1,
"available": true
}
}
我得到的错误是204 No-content,这意味着返回的json为null,但我显然是在发送JSON。
提前感谢您的帮助。
更新(正确答案):
应该使用以下JSON:
// POST: api/API
[HttpPost]
public string Post([FromBody]string json)
{
return json;
}
"车"是不必要的,接受的答案声明我应该返回模型而不是字符串,因为它是一个JSON对象而不是字符串。
答案 0 :(得分:0)
在模型绑定期间,ASP.NET正在尝试将您的json数据绑定到string
数据类型。但是,您的json不是有效的json字符串,而是json对象。一个json字符串就是"this is a string"
。因此,json
参数会返回null
。
您需要为模型定义一个类:
public class Car
{
public string Licenseplate { get; set; }
...
}
然后,你的API:
[HttpPost]
public string Post([FromBody]Car car)
{
return car.Licenseplate;
}