gpt4 book ai didi

c# - 使用 ASP.NET Web API 自定义路由

转载 作者:可可西里 更新时间:2023-11-01 08:18:25 25 4
gpt4 key购买 nike

假设我有一个嵌套的一对多类型的层次结构数据库,如下所示:

一个地区有很多国家;每个国家都有很多城市城市必须属于一个且只有一个国家。

将此信息抽象到 RDBMS 中是一项微不足道的练习,但(在我看来)返回给定区域 ID 的国家/地区列表的最明智的 REST 端点如下所示:

HTTP GET http://localhost/Region/3/Countries

默认情况下,.NET Web API 的路由最多是 http://localhost/Countries/Region/3http://localhost/Region/Countries/3

是否有我应该遵循的合理命名约定,或者路由是否足够可自定义以允许 URI 采用我喜欢的任何形状?

最佳答案

路由应该足够可定制以获取您要查找的 URL。假设您想要“http://localhost/Region/3/Countries”形式的 URL,您可以注册此自定义路由:

config.Routes.MapHttpRoute("MyRoute", "Region/{regionId}/Countries", new { controller = "Region", action = "GetCountries" });

这会将请求分派(dispatch)给“RegionController”类上的“GetCountries”操作。您可以在从 URI 自动为您绑定(bind)模型的操作上使用 regionId 参数。

您可能需要在线查找 WebAPI 的属性路由包,因为它可能更适合您的情况。

关于c# - 使用 ASP.NET Web API 自定义路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14339046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com