在 Spring Web 服务中,我有控制器具有多个 URL 映射方法来处理请求。我想将 2 个 url 映射到一个 @GetMapping 方法,如下所示:
@GetMapping(value = {"ex/{status}", "ex/retries/{status}"}, produces = "application/json")
public ResponseEntity<ResponsePOJO> getExRetries(@RequestParam("interval") Optional<String> intervalOptional, @PathVariable("status") String successStatus)
{
/**
*LOTS OF WORK
*/
//If this method was called via ex/{status} then call using true
getReport(true);
//BUT if it was called via ex/retries/{status} then call using false i.e getReport(true);
}
现在基于调用此方法的 2 个 url 中的哪一个,唯一的变化是在最后一行方法调用中将使用 true 否则为 false。现在,如果我为这 2 个 url 映射实现 2 个方法,并且只更改 最后一行方法调用,这将导致代码重复。
有没有办法找到用于调用它的 url,然后我可以使用if条件进行正确调用并避免 2 种方法,从而避免代码重复。