我用模拟工具发一个post请求到core 2.0 webapi项目的一个接口上:
接口里的代码如下:
[HttpPost]public string Post() { int i = int.Parse("qqq"); return "Hello World!"; }
故意抛了一个错,触发了异常过滤器,异常过滤器调了下面这个GetPostParams方法,初衷是想记录该请求的所有参数:
模拟提交的时候,POST一个参数都没带,context.Request.Form点出来的任何方法都报错,发一个带参数的POST试试:
走你:
不报错了,也可以拿到参数。现在问题来了,ASP.NET Core的webapi项目里,不带请求参数的时候,如何通过代码判断出来该POST请求不带参数,同时不报错?
context.Request.Form.Count在没有POST参数的时候都会报错,大家试一下。
注:Core webapi项目,非ASP.NET MVC项目。