Ric*_* A. 12 c# rest namespaces asp.net-mvc-4 asp.net-web-api
假设我有一个嵌套的一对多类型的层次结构数据库,如下所示:
一个地区有许多国家 ; 每个国家都有很多城市 ; 一个城市必须属于唯一的一个国家.
将这些信息抽象为RDBMS是一项微不足道的工作,但(在我看来)最合理的REST端点返回给定区域id的国家列表将如下所示:
HTTP GET http://localhost/Region/3/Countries
默认情况下,.NET的Web API的路由会,充其量,http://localhost/Countries/Region/3或http://localhost/Region/Countries/3.
我应该遵循一个合理的命名约定,或者路由是否可以自定义以允许URI采取我喜欢的任何形状?
You*_*oui 22
路由应该可以自定义,以获取您正在寻找的URL.假设您想要"http:// localhost/Region/3/Countries"形式的URL,您可以注册此自定义路由:
config.Routes.MapHttpRoute("MyRoute", "Region/{regionId}/Countries", new { controller = "Region", action = "GetCountries" });
这会将请求发送到'RegionController'类的'GetCountries'操作.您可以在操作中拥有regionId参数,该参数将从URI自动为您获取模型.
您可能希望在线查找WebAPI的属性路由包,因为它可能更适合您的情况.