我有一个带有url的MVC控制器,其中有一个参数绑定方括号,如
public Product GetProduct([Bind(Prefix = "product[productid]") int id)
曾经使用过像
这样的请求网址 http://localhost:8080/Product/GetProduct?product[productid] = 1001
。
我能够在MVC控制器中将id
的值设为1001
。不幸的是我应该把它改成一个web api控制器,我有像这样定义的api控制器方法
public Task<Product> GetProduct([FromUri(Name=product[productid])] int id)
我得到了具有相同请求网址的404响应。 [FromUrl]
在没有大括号的情况下使用参数名称
定义如
public Task<Product> GetProduct([FromUri(Name=productid)] int id)
和网址一样
http://localhost:8080/Product/GetProduct?productid = 1001
除了使用大括号解析请求网址并获取值之外,是否有任何解决方法。
答案 0 :(得分:0)
您的网址是对的。您应该按照以下方式修复控制器:
public Task<Product> GetProduct([FromUri(Name=product.productid)] int id)
我真的不知道为什么会这样。