ASP.NET 204 CORE POST-Request中的HTTP 204无内容错误

时间:2018-04-09 13:27:22

标签: c# json asp.net-mvc http postman

嗨其他程序员,

我正在使用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对象而不是字符串。

1 个答案:

答案 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;
}