我要声明两个发布方法。一个用于保存一个对象,另一个用于保存列表。现在的问题是,我应该给每个路径以什么方式才能避免出现典型错误:

原因:java.lang.IllegalStateException:模棱两可的映射。无法映射
我的控制器具有以下网址,例如/ faults

这些是我的方法:

 @PostMapping
    public ResponseEntity<FaultDTO> save(@RequestBody FaultDTO faultDTO){...}

 @PostMapping
    public ResponseEntity<List<FaultDTO>> saveAll(@RequestBody ArrayList<FaultDTO> list){...}


编写此api的正确方法是什么?

最佳答案

您不能将两个端点绑定到相同的URI和相同的方法,因为这样应用程序将不知道使用哪个端点。

您需要执行以下操作:

@PostMapping
public ResponseEntity<FaultDTO> save(@RequestBody FaultDTO faultDTO){
   /* your code here */
}

@PostMapping("/all")
public ResponseEntity<List<FaultDTO>> saveAll(@RequestBody ArrayList<FaultDTO> list){
    /* your code here */
}

07-24 19:42