如果有人能够解释[Route]属性/ routes.Add()方法,我会非常感激。我已经习惯了MVC框架/ WebAPI,并且知道那些与控制器和动作有关。例如,类,DTO对象具有它们而不是方法。先谢谢了。
2013年7月17日更新 http://pluralsight.com/training/Courses/TableOfContents/service-stack
回答所有问题的优秀课程
答案 0 :(得分:1)
您指的路由属性是根据路由中的路径将特定dtos路由到服务。所以像base.Routes.Add(“/ files”,“GET,POST”)这样的东西会允许GET和POST请求到/ files路径。所以如果我的api住在/ api我可以点击
http://localhost/api/files
使用GET或POST,它应该路由到正确的服务。您可以将此视为mvc所做的事情,并记住,如果mvc中没有忽略该路径,mvc将会破坏服务堆栈的路径。在mvc的路由配置中,请确保输入以下内容:
routes.IgnoreRoute "api/{*pathInfo}"
假设您安装了服务堆栈以在路径/ api上运行(这可以在您的web.config中找到)。此外,如果你使用的是mvc4,我会建议取出webapi的东西,这样你就不会有任何冲突。