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的主函数中使用了它