C# 作为[FromBody]读取时,请求正文为空

C# 作为[FromBody]读取时,请求正文为空,c#,C#,以下是我的服务器功能分配: [HttpPost("RestaurantWorkingHours")] public HttpResponseMessage AddRestaurantWorkingHours([FromBody] HoursMultipleDays HoursMultipleDay){ context.HttpContext.Request.EnableBuffering(); string body; using (StreamReader

以下是我的服务器功能分配:

[HttpPost("RestaurantWorkingHours")]
public HttpResponseMessage AddRestaurantWorkingHours([FromBody] HoursMultipleDays HoursMultipleDay){
context.HttpContext.Request.EnableBuffering();
    string body;
    using (StreamReader stream = new StreamReader(context.HttpContext.Request.Body))
    {
        body = await stream.ReadToEndAsync();
    }
// body is empty
}
无论如何,内容是空的

这是我怎样寄邮递员的


我很困惑。为什么要向管道中添加额外的ActionExecutingContext读取器? 如果您像这样扩展您的方法
AddRestaurantWorkingHours

[HttpPost("RestaurantWorkingHours")]
public HttpResponseMessage AddRestaurantWorkingHours([FromBody] HoursMultipleDays HoursMultipleDay)
{
  var x = 0; // set breakpoint here
}

您应该在
HoursMultipleDay
对象中看到数据。无需为此读取/分析/误用上下文对象。

尝试使用Postman或其他API工具发布数据。然后在这里传递一个屏幕,这样我们可以确保数据正确发送到您使用的.Net版本?@TomasChabada 4.8 JSON是否满足
HoursMultipleDays
类的结构?@FrankAlvaro是的!HoursMultipleDays由一个对象RestaurantWorkingHous和一个整数列表Days组成。我这样做只是为了让大家明白,我在接受ActionExecutingContext的主函数中使用了它