我创建了一个名为Filter的web api(REST),它有多个get方法,例如
GetCompany GetCustomers的 GetOrders
这是正确的做法还是应该为不同的实体设置不同的web api?我是否应该在同一个WEB API中复制相同的http动词(GET)。
其他动词(POST或PUT)怎么样?
在另一个服务中,我们有一个案例需要更新特定字段,另一个案例我们可以更新除记录中特定字段之外的任何内容。是否应该为两种情况使用一种方法(POST或PUT),还是可以使用两种不同的方法?
我从angularjs $ http服务调用这些方法。
答案 0 :(得分:4)
每个资源(实体)都应该有一个不同的控制器
然后在Get
上使用CustomersController
方法,例如
您的网址将是
/公司
/客户
/订单
等...
然后,您的HTTP谓词将路由到这些控制器中的相应方法。因此,对GET
的{{1}}请求将被路由到该控制器上的/Customers
方法
或者,如果您真的坚持使用一个控制器,则可以使用属性路由以及动词属性
像
这样的东西Get()
但这会变得非常大,非常快,而且我通常不建议像这样做。
每个资源一个控制器更清洁。