У меня есть конечные точки в @RestController
s, которые выглядят примерно так:
@RestController
@RequestMapping("/rest/x")
public class XApiController
{
// ...
@PostMapping(...)
@PreAuthorize("@apiAuthService.canAccessX(#headers)")
public void saveX(...)
{
// ...
}
}
Эти конечные точки требуют от разработчика сделать объект HttpHeaders
доступным и правильно назвать его в объявлении метода:
public void saveX(@RequestHeader HttpHeaders headers)
Наша проблема в том, что если этот последний шаг не будет выполнен, конечная точка завершится с ошибкой только во время выполнения, когда вызывается конечная точка.Это означает, что проблемы с большими рефакторингами позже (скажем, для изменения аргумента HttpHeaders
на HttpServletRequest
) нелегко идентифицировать.Есть ли способ сообщить Spring, что эти выражения действительны при запуске приложения?