java - 两种 post 方法出现模糊映射错误

标签 java spring rest spring-boot api

我声明了两种 post 方法。一个用于保存一个对象,另一个用于保存列表。现在的问题是我应该为每个路径提供什么路径以避免出现典型错误:

由以下原因引起:java.lang.IllegalStateException:不明确的映射。无法绘制 map 我的 Controller 有以下 url,例如/faults

这些是我的方法:

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

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

这个API的正确编写方法是什么?

最佳答案

不能将两个端点绑定(bind)到相同的 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 */
}

关于java - 两种 post 方法出现模糊映射错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60128164/

相关文章:

java - 从 (ExecutorService) CachedThreadPool 捕获异常

java - 使用带有自定义类的嵌套 HashMap 进行 Kryo 序列化

java - spring中如何实现动态更新sql

java - 配置 Spring 以使用特定版本的类

ios - 当提供商不支持自定义 URI 方案时如何重定向到 iOS

java - @ResponseStatus,客户端没有收到错误信息

java - 使用Java的RMI的优点

java - Activity 布局滞后,直到下一次转换到另一个 Activity 之前

java - Spring-MVC : Scheduled job did not execute

rest - 英特尔伽利略 Azure REST 调用