【问题标题】:Multiple PostMapping Request Handler with different parameter具有不同参数的多个 PostMapping 请求处理程序
【发布时间】:2022-01-05 18:35:10
【问题描述】:

我检查了 params 属性,如果为同一个 URI 定义了多个,我们可以将请求缩小到特定的处理程序,在 PostMapping 的情况下我们如何实现相同的处理。

@PostMapping(value="newUser")
public String addNewUser(@RequestBody User user)
{}

@PostMapping(value="newUser")
public String addAnotherUser(@RequestBody AnotherUser user)
{}

基本上,两个不同的处理程序具有不同的输入请求正文类型参数和相同的 URI。

【问题讨论】:

  • 我认为this 可能会回答您的问题。

标签: java spring-boot rest post microservices


【解决方案1】:

您需要告诉 spring 如何路由您的请求。 默认情况下,spring 无法从有效负载中弄清楚这一点。 你可以实现你的 https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/mvc/condition/RequestCondition.html

但我认为如果您需要传递两个不同的有效负载来创建用户,您应该检查您的 API 设计。

一种常见的做法是使用 API 路径来更具体地了解您要操作的资源。 喜欢

/newUser

/newUser/anotherUser/v2/newUser ...

【讨论】:

  • 谢谢,正在寻找相同的 URL,但似乎在相同的 URL 映射中不能为不同的输入数据类型做
猜你喜欢
  • 2014-09-03
  • 1970-01-01
  • 1970-01-01
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
  • 2022-01-21
  • 2019-11-29
  • 1970-01-01
相关资源
最近更新 更多