如果有人能解释一下 [Route] 属性/routes.Add() 方法及其部分,我将不胜感激。我习惯于 MVC 框架/WebAPI,并且知道这些与控制器和操作有关。例如类,DTO 对象拥有它们而不是方法。提前感谢一堆。
更新 7/17/2013 http://pluralsight.com/training/Courses/TableOfContents/service-stack
回答一切的优秀课程
如果有人能解释一下 [Route] 属性/routes.Add() 方法及其部分,我将不胜感激。我习惯于 MVC 框架/WebAPI,并且知道这些与控制器和操作有关。例如类,DTO 对象拥有它们而不是方法。提前感谢一堆。
更新 7/17/2013 http://pluralsight.com/training/Courses/TableOfContents/service-stack
回答一切的优秀课程
您所指的路由属性基于路由中的路径将特定 dto 路由到服务。所以像 base.Routes.Add("/files", "GET,POST") 这样的东西会允许对 /files 路径的 GET 和 POST 请求。所以如果我的 api 住在 /api 我可以打
http://localhost/api/files
使用 GET 或 POST,它应该被路由到正确的服务。您可以将其视为 mvc 所做的事情,并记住,如果在 mvc 中未忽略路径,mvc 将与服务堆栈的路由混淆。在你的 mvc 路由配置中,确保输入如下内容:
routes.IgnoreRoute "api/{*pathInfo}"
假设您安装了服务堆栈以在路径 /api 上运行(这可以在您的 web.config 中找到)。另外,如果您使用的是 mvc4,我建议您取出 webapi 的东西,这样您也不会与它发生任何冲突。