是否可以在两个不同的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
RequestMapping
path,method,params,headers,consumes,produces