当前位置: 首页 > 面试题库 >

Spring-可以在post方法的请求映射中提供相同的url吗?

长孙永思
2023-03-14
问题内容

是否可以在两个不同的post方法的请求映射中使用相同的url,仅请求正文有所不同。


问题答案:

不,您不能在具有不同请求主体类型但介质类型相同的post方法的请求映射中提供相同的url。以下将不起作用:

  @PostMapping(path = "/hello", consumes = MediaType.APPLICATION_JSON_VALUE)
  public String hello(@RequestBody Pojo1 val) {
    return "Hello";
  }

  @PostMapping(path = "/hello", consumes = MediaType.APPLICATION_JSON_VALUE)
  public String hello(@RequestBody Pojo2 val) {
    return "Hello";
  }

如果您使用不同的媒体类型,那么它将。下面将工作:

  @PostMapping(path = "/hello", consumes = MediaType.APPLICATION_JSON_VALUE)
  public String hello(@RequestBody Pojo val) {
    return "Hello";
  }

  @PostMapping(path = "/hello", consumes = MediaType.TEXT_PLAIN_VALUE)
  public String hello(@RequestBody String val) {
    return "Hello";
  }

RequestMapping在至少一项条件上应有所不同;path,method,params,headers,consumes,produces



 类似资料:
  • 您好,我正在尝试创建一个POST方法,但我一直收到“404 Request方法'GET'not support”错误。下面我将发布我的Rest控制器,下面我将发布我的服务类。唯一不起作用的是@PostMaps方法。 我没有看到这个问题,我尝试切换到@GetMapping并删除了实际的事务“billRepository.delete(billToWithdraw);”然后该方法返回正确的账单。

  • 假设我们有一个使用Spring MVC和Spring Security配置的APIendpoint。我们希望能够处理@RequestMapping和@Secured注释对,其中仅有的@Secured注释值因对而异。这样,我们就可以根据相同请求的安全规则返回不同的响应主体。 这可以避免在方法体中直接检查安全规则,从而使代码更易于维护。 有一个不起作用的例子,下面是我们想要做的: 我们如何才能做到这一

  • 我很难弄清楚问题出在哪里。 我认为最简单的方法是使用一个带有请求映射的控制器。 移动应用程序有它自己的身份验证系统,所以访问url需要是开放的/匿名的。 我已经设置了以下内容: 在日志中,当服务器运行时,我会得到以下消息:

  • 当前我的控制器看起来是这样的。 有没有更简单的方法为两个不同的路径“localhost:port/members”和“localhost:port/members/index”使用一个index-method?一般情况下,我可以为一个方法注释两个值吗? 提前致谢:) 编辑:我已经看到它对@RequestMapping起作用了

  • 我创建了一个带有参数的API,如下所示: 我在body->表单数据中传递了。 然后我在《邮递员》上得到了这样一条消息: 有人知道为什么会有这个消息吗?我们如何在Rest API请求中传递一个映射作为参数?我们怎样才能通过邮递员传递地图?