c#使用GetOne和GetAll重新获取GET端点

时间:2018-01-19 18:02:01

标签: c# rest

我有一个非常简单的端点作为例子

/users/

获取所有用户,返回N个元素的数组(如果没有用户,则返回0个元素)

这是在一个特定方法上实现的

[HttpGet]
[Route("api/users")]
public void getUsers() { ... }

但是,我需要通过id获取用户,所以我需要另一个api enpoint。问题是,我应该在同一个方法上实现这个,还是单独一个?

[HttpGet]
[Route("api/users")]
[Route("api/users/{id:int}")]
public void getUsers(int? id) { ... }

在这种情况下,我的回报是不同的,单个用户或NotFound而不是数组。

所以我想知道这是否应该作为单个方法(和重用代码)或2种不同的方法实现。

1 个答案:

答案 0 :(得分:1)

如果响应不同,则有两种不同的方法。看起来一种方法是获取所有用户的详细信息,另一种方法是根据用户ID获取特定的用户详细信息。