REST API设计:我们是否应该使用具有diff params的相同端点或创建新端点

时间:2017-03-09 04:43:54

标签: java rest

我正在设计Rest API。我有一个现有的终点说

@RequestMapping(value = "/games", params = {"tId", "sId"}, method = RequestMethod.GET)

搜索游戏。现在我需要根据不同的属性集搜索游戏。我有两个选择:

a)使用相同的端点" / games"但需要不同的输入参数集,如

@RequestMapping(value = "/games", params = {"tId", "day"}, method = RequestMethod.GET)

2)我应该为此创建一个单独的端点(URL)。

请咨询。 另外,如果我选择第二个选项,那么端点名称应该是什么。

1 个答案:

答案 0 :(得分:3)

鉴于两个预期的端点/端点都返回相同的内容,我可能会选择保留一个接受所有可能参数的REST端点:

@RequestMapping(value = "/games", params = {"tId", "sId", "day"}, method = RequestMethod.GET)

您可以向处理程序方法添加逻辑,该方法检查以查看已定义的传入参数,并根据该方法选择适当的操作过程。您可能需要添加逻辑,以检测是否有人误导了REST端点,并在这种情况下返回错误(例如,通过定义sIdday)。