0
我有一个名为MVC4 Web的API - 路由映射帮助需要
产品 和我在这三个动作
- 产品控制器:接受一个int返回一个模型(类)对象
- 类别:需要一个字符串返回模型(类)对象数组
- 所有:没有参数返回模型(类)对象的阵列
我试图是下面的映射
产品 - > API /产品/产品/ 1
类别 - > api/product/category/sauces
所有 - > API /产品/所有
为行动的名称支持URL结构,所以我正在努力工作是
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
一切的一般途径,但我得到当我使用下面的错误此http://localhost:2271/api/products/category/2
URL
<Error>
<Message>
No HTTP resource was found that matches the request URI 'http://localhost:2271/api/products/category/2'.
</Message>
<MessageDetail>
No action was found on the controller 'Products' that matches the request.
</MessageDetail>
</Error>
,另一方面这个URL api/products/category/?cat=abc
& api/products/category?cat=abc
正在工作...... [猫是我的接收参数名称]
帮助!!!
嘿感谢您的答案,请您具体说明它如何不保持REST风格,我是REST API的新手。 – Moon 2013-04-09 06:19:32
很高兴能够提供帮助。我认为[一篇写得很好的文章的链接更好](http://en.wikipedia.org/wiki/Restful#RESTful_web_APIs)。这里提到了RPC。还有其他文件可以更好地解释它,但我必须Google它们:) – 2013-04-09 06:24:46