小编典典

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

java

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


阅读 377

收藏
2020-11-30

共1个答案

小编典典

不,您不能在具有不同请求主体类型但介质类型相同的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

2020-11-30