我正在尝试弄清楚如何为包含URL中的变量段的URL创建MapRoute。例如:
https://myapp.net/myapp/resource/ {ID} / subRescource / {ID}
所以...资源的“id”和子资源的“id”最终应该作为调用的参数,无论是GET,POST,PUT还是DELETE。
我无法弄清楚如何为此设置地图路线,并且我无法找到任何解决此类网址的示例(路径中不同级别的ID)。
是否有一个“简单”的答案 - 只是说明地图应该是什么样子?或者是否存在任何人都知道的在线示例?
谢谢,
答案 0 :(得分:0)
您可以尝试这样的事情:
MapRoute:
routes.MapRoute(
name: "SubResource",
url: "myapp/resource/{id}/subResource/{subResourceId}",
defaults: new { controller = "SubResource", action = "GetSubResource", id = UrlParameter.Optional, subResourceId = UrlParameter.Optional });
SubResource Controller:
public class SubResourceController
{
[HttpGet]
public SubResourceModel GetSubResource(long id, long subResourceId)
{
// Do something
return result;
}
[HttpPost]
public SubResourceModel AddSubResource(long id, [FromBody]subResourceModel)
{
// Do something
return result;
}
[HttpPut]
public SubResourceModel UpdateSubResource(long id, long subResourceId)
{
// Do something
return result;
}
[HttpDelete]
public bool DeleteSubResource(long id, long subResourceId)
{
// Do something
return result;
}
}
有关ASP.NET路由的更多信息: https://msdn.microsoft.com/en-us/library/cc668201.aspx