gpt4 book ai didi

rest - ASP.NET Web Api 重复动词

转载 作者:可可西里 更新时间:2023-11-01 16:28:12 26 4
gpt4 key购买 nike

我创建了一个名为 Filter 的 web api (REST),它有多个 get 方法,例如

获取公司获取客户获取订单

这是正确的做法还是我应该为不同的实体使用不同的 Web API?我是否应该在同一个 WEB API 中复制相同的 http 动词 (GET)。

其他动词(POST 或 PUT)呢?

在另一个服务中,我们有一种情况想要更新特定字段,另一种情况我们可以更新记录中除该特定字段之外的任何内容。应该对两种情况都使用一种方法(POST 或 PUT)还是可以使用两种不同的方法?

我从 angularjs $http 服务调用这些方法。

最佳答案

您应该为每个资源(实体)设置不同的 Controller

例如,CustomersController 上的 Get 方法

您的网址将是

/公司
/客户
/订单

等...

然后,您的 HTTP 动词将被路由到这些 Controller 中的相应方法。因此,对 /CustomersGET 请求将被路由到该 Controller 上的 Get() 方法

或者,如果你真的坚持一个 Controller ,你可以使用属性路由,连同动词属性

有点像

public class FilterController : ApiController
{
[HttpGet]
[Route("orders")]
public IHttpActionResult GetOrders()
{ }


[HttpGet]
[Route("customers")]
public IHttpActionResult GetCustomers()
{ }


[HttpPut]
[Route("customers")]
public IHttpActionResult UpdateOrders()
{ }
}

但这会变得非常大,非常快,我通常不建议这样做。

每个资源一个 Controller 要干净得多。

关于rest - ASP.NET Web Api 重复动词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33831455/

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