Net 6 C#, 为啥postman 用x-www-form-urlencoded类型传参,后端 OnActionExecuting不触发呢? 谢谢!
我这个自定义的过滤类(CustomActionFilterAttribute : ActionFilterAttribute),里面有四个方法,OnActionExecuting、OnActionExecuted、OnResultExecuting、OnResultExecuted,当用x-www-form-urlencoded类型传参,后端 OnActionExecuting不触发,这样就导致参数获取不到,自定义的方法也不会执行。
控制器怎么写的?可能是你代码加了约束吧,只能from-data方式传递的数据。最好上一个完整的demo
代码没有加约束,
@无用的书生: 去掉[ApiController]特性是不是就可以了?或者加上FromForm特性?
@会长: 好的,多谢,去掉了可以了。请问这是为何?谢谢!
@无用的书生: 建议查下资料,我记得也不太清楚了,印象里加上ApiController特性后,默认是只接收http请求body中的JSON数据吧,这样也比较合理。你为什么要通过表单方式传递数据呀?用JSON应该更方面一些吧。如果把ApiController注释掉,可能会有些问题,加上它后,返回错误数据时,会自动生成ProgramDetails类型,如果去掉了就不能自动生成了。