あなたは同じエンドポイントで2つの異なる方法を使用することはできません。言い換えれば
、あなたは同時に、これらの2つのメソッドを持つことはできません。
@RequestMapping(value = "/{decisionId}", method = RequestMethod.GET)
public DecisionResponse findById(@PathVariable @NotNull @DecimalMin("0") Long decisionId) {
....
}
@RequestMapping(value = "/{decisionIds}", method = RequestMethod.GET)
public List<DecisionResponse> findByIds(@PathVariable @NotNull @DecimalMin("0") Set<Long> decisionIds) {
....
}
@RequestMapping(value = "/{decisionIds}", method = RequestMethod.GET)
そして
@RequestMapping(value = "/{decisionId}", method = RequestMethod.GET)
ので、同じエンドポイントです。
したがって、http://<host>/19
にHTTPリクエストGETがある場合は、使用する方法を判断できません。
ソリューションは、私は、これはあなたを助けることを願っています競合
@RequestMapping(value = "/decision/{Id}", method = RequestMethod.GET)
そして
@RequestMapping(value = "/decisions/{Id}", method = RequestMethod.GET)
を避けるために、より明確に自分のエンドポイントの名前を変更します。
@RequestMapping(value = "/{decisionIds}", method = RequestMethod.GET)
public List<DecisionResponse> findByIds(@PathVariable @NotNull @DecimalMin("0") Set<Long> decisionIds) {
System.out.println(decisionIds);
}
をそして、このようにパス変数を送信することによって、このエンドポイントを呼び出す: