Asp.net Core Post参数始终为空

我从提琴手发送POST:

POST http://localhost:55924/api/Product HTTP/1.1
User-Agent: Fiddler
Host: localhost:55924
Content-Type: application/json; charset=utf-8
Content-Length: 84

{"Ean":"1122u88991","Name":"Post test","Description":"Post test desc"}

但Post方法始终为空。

// POST api/Product
[HttpPost]
public IActionResult PostProduct([FromBody]Product product)
{
    if (!ModelState.IsValid)
    {
        return BadRequest(ModelState);
    }

    _repo.Add(product);

    return CreatedAtRoute("GetToode",product);
}

当我使用[FormBody]时,产品总是空的,当不使用它时,产品是有价值的,但是所有的字段都是空的。 产品类别很简单。

public class Product
{
    public int ProductID { get; set; }
    public string EAN { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public int? CategoryID { get; set; }
}

我尝试在后期添加NullValueHandling到ConfigureServices,但没有用。

services.AddMvc()
    .AddJsonOptions(jsonOptions =>
    {
        jsonOptions.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
    });

我只需要纠正你的POST请求中的双引号,它工作。 尝试这个:

{"Ean":"1122u88991","Name":"Post test","Description":"Post test desc"}

见下面的截图。

截图

链接地址: http://www.djcxy.com/p/93399.html

上一篇: Asp.net Core Post parameter is always null

下一篇: Do parentheses make a pointer template argument invalid?