我正在尝试构建一个 asp.net mvc 4 应用程序。
我希望应用程序包含 HTML 站点和 restful api,例如
www.mysite.com/MyDetails/ www.mysiste.com/api/users/{userid}/Details/
在上面的示例中,我将使用 2 个控制器类。
- MyDetailsController 继承自 System.Web.Mvc.Controller
- 继承自 System.Web.Http.ApiController 的 DetailsController
我还在 WebApiConfig 中添加了一个简单的“用户路由”:
routeTemplate: "api/users/{userid}/{controller}/{id}
在我的早期测试中,似乎以下情况无效:
www.mysite.com/api/users/12345/MyDetails/ www.mysite.com/Details/
两者都返回 404。
这绝对是一件好事,但我想知道的是为什么它不起作用?我可以依靠它不起作用还是在我的简单测试中只是巧合?
我读过有人在努力开发一个包含 HTML 和 REST api 的单一 MVC 应用程序/项目,但最常见的抱怨似乎是你不能重复控制器名称,而且你似乎仍然不能简单地使用命名空间来区分它们。
在这个例子中,我特意设计了类名来避免任何冲突,那么还有什么其他的陷阱在等着我呢?
谢谢,
克里斯