[英]Using FromUri OR FromBody in MVC 5
我想公开我的POST方法,该方法允许用户使用在url中编码或写在请求正文中的参数来调用它。 伪代码:
public HttpResponseMessage MyMethod([FromUri, FromBody] parameters)
{
//..
}
通过公开两种方法甚至是不可能的:
public HttpResponseMessage MyMethod([FromUri] parameters)
public HttpResponseMessage MyMethod([FromBody] parameters)
因为它们具有相同的签名。 如何以简单的方式实现这一目标?
您不能开箱即用。 如果您尝试同时使用这两个属性,则会出现以下错误: 无法绑定参数“ xxx”,因为它具有冲突的属性。
两种可能的解决方案:
[FromUri]
并使用自定义操作过滤器(像这样 )来检查身体的内容和,如果存在的话,手动解析它,并将其绑定到正确的方法参数-不容易的方式,但功能更强大。 希望能帮助到你 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.