gpt4 book ai didi

c# - 如何为 MS Web Api 干净地构建 REST API 端点?

转载 作者:行者123 更新时间:2023-12-02 22:04:28 25 4
gpt4 key购买 nike

我有一个名为 PIM(产品信息管理器)的数据模型,它要求我为每个请求传递一个公司 AppId。因此,如果我想获得所有产品,我会传递公司 AppId 和资源 ID。

我试图以一种干净的方式构建我的 REST 端点,我想出了这个:

http://api.example.com/pim/44/products/    -- Gets all products in company 44
http://api.example.com/pim/44/products/123 -- Get product 123 in company 123

这是实现它的最佳方式吗?

我正计划制作我的默认 Controller pim/{appId}/{controller}/{id}

如果我这样做,我的 MVC 路由会遇到问题吗?如何在我的 GET 方法中访问 {appId} token ?

最佳答案

你可以拥有你所描述的路线,并使用它

routes.MapHttpRoute(
name: "Default",
routeTemplate: "pim/{appId}/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);

在您的 Controller 中,您将拥有以下方法:

public class ProductsController : ApiController
{
public Product Get(int appId, int id) { ... }
public List<Product> Get(int appId) { ... }
}

由于参数名称(appId、id)与路由参数匹配,ASP.NET Web API 应在调用操作时将 URL 值绑定(bind)到参数。

关于c# - 如何为 MS Web Api 干净地构建 REST API 端点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16351146/

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