我们可以路由
GET TestService/{guidId}/Items?var1="A1"&var2="A2"
(其中guidId
参数将传递Guid
值),使用基于约定的路由与MVC4和WebAPI1?
我知道这可以通过使用MVC5和WebAPI的属性路由轻松实现。
无论如何使用ASp.Net MVC4来实现上述要求吗?
答案 0 :(得分:0)
假设一个控制器和这样的动作
public class TestServiceController : ApiController {
[HttpGet]
public HttpResponseMessage GetItems(Guid guidId, string var1, string var2) { ... }
}
可以像这样映射基于约定的路由
// Convention-based routing.
config.Routes.MapHttpRoute(
name: "ItemsApi",
routeTemplate: "TestService/{guidId}/Items",
defaults: new { controller = "TestService", action = "GetItems" }
);
给定GET TestService/{guidId}/Items?var1="A1"&var2="A2"
模型绑定器将匹配路由中的{guidId}
并从查询字符串中提取var1
和var2