我正在设计Rest API。我有一个现有的终点说
@RequestMapping(value = "/games", params = {"tId", "sId"}, method = RequestMethod.GET)
搜索游戏。现在我需要根据不同的属性集搜索游戏。我有两个选择:
a)使用相同的端点" / games"但需要不同的输入参数集,如
@RequestMapping(value = "/games", params = {"tId", "day"}, method = RequestMethod.GET)
2)我应该为此创建一个单独的端点(URL)。
请咨询。 另外,如果我选择第二个选项,那么端点名称应该是什么。
答案 0 :(得分:3)
鉴于两个预期的端点/端点都返回相同的内容,我可能会选择保留一个接受所有可能参数的REST端点:
@RequestMapping(value = "/games", params = {"tId", "sId", "day"}, method = RequestMethod.GET)
您可以向处理程序方法添加逻辑,该方法检查以查看已定义的传入参数,并根据该方法选择适当的操作过程。您可能需要添加逻辑,以检测是否有人误导了REST端点,并在这种情况下返回错误(例如,通过定义sId
和day
)。