我的Spring RestController中有以下方法:
@RequestMapping(value = "/{decisionId}", method = RequestMethod.GET)
public DecisionResponse findById(@PathVariable @NotNull @DecimalMin("0") Long decisionId) {
....
}
现在,我需要添加通过
{decisionIds}
找到一组DecisionResponse的可能性。@RequestMapping(value = "/{decisionIds}", method = RequestMethod.GET)
public List<DecisionResponse> findByIds(@PathVariable @NotNull @DecimalMin("0") Set<Long> decisionIds) {
....
}
以下两种方法不能一起使用。
实现此功能的正确方法是什么?我是否应该只留下一个等待第二个
{decisionIds}
并返回一个集合的方法(第二个),即使我只需要一个Decision
对象也是如此?还有另一种合适的方法来实现这一目标吗? 最佳答案
您可以为发送单个long值以及long值数组创建单个端点:
@RequestMapping(value = "/{decisionIds}", method = RequestMethod.GET)
public List<DecisionResponse> findByIds(@PathVariable @NotNull @DecimalMin("0") Set<Long> decisionIds) {
System.out.println(decisionIds);
}
并通过发送如下路径变量来调用此端点:
http://localhost:8080/11,12,113,14