asp.net core webapi 如何获取请求里的所有POST参数

我用模拟工具发一个post请求到core 2.0 webapi项目的一个接口上:

https://img2.mukewang.com/5b961ca000010fc304570291.jpg

接口里的代码如下:

[HttpPost]public string Post()
{   int i = int.Parse("qqq");   return "Hello World!";
}

故意抛了一个错,触发了异常过滤器,异常过滤器调了下面这个GetPostParams方法,初衷是想记录该请求的所有参数:

https://img4.mukewang.com/5b961cc60001041705590424.jpg

 

模拟提交的时候,POST一个参数都没带,context.Request.Form点出来的任何方法都报错,发一个带参数的POST试试:

https://img4.mukewang.com/5b961cd000016ac406260300.jpg

走你:

https://img.mukewang.com/5b961cd80001146604940394.jpg

 

不报错了,也可以拿到参数。现在问题来了,ASP.NET Core的webapi项目里,不带请求参数的时候,如何通过代码判断出来该POST请求不带参数,同时不报错?

context.Request.Form.Count在没有POST参数的时候都会报错,大家试一下。

注:Core webapi项目,非ASP.NET MVC项目。


呼唤远方
浏览 10368回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP