Я получил REST FeignClient
определен в моем приложении:FeignClients публикуется в REST конечных точек в весеннем применении облачного
@FeignClient(name = "gateway", configuration = FeignAuthConfig.class)
public interface AccountsClient extends Accounts {
}
делится интерфейсом конечной точки между сервером и клиентом:
@RequestMapping(API_PATH)
public interface Accounts {
@PostMapping(path = "/register",
produces = APPLICATION_JSON_VALUE,
consumes = APPLICATION_JSON_VALUE)
ResponseEntity<?> registerAccount(@RequestBody ManagedPassUserVM managedUserDTO)
throws EmailAlreadyInUseException, UsernameAlreadyInUseException, URISyntaxException;
}
Everythng работает отлично за исключением того, что мое определение FeignClient
в моем клиентском приложении также зарегистрировано как независимая конечная точка REST.
На данный момент я пытаюсь предотвратить это поведение с помощью фильтра, который возвращает 404
код состояния для FeignClinet
клиентских сопоставлений в моем клиентском приложении. Однако эта работа кажется очень неэлегантной.
Есть ли другой способ предотвратить появление подозрительных клиентов в качестве отдельных конечных точек REST?
Похоже, что ошибка в SpringMVC. Я также попытался опустить мои FeignClients из проверки компонентов, и это не сработало. –
Довольно уверен, что это была функция довольно долгое время. Это ярлык, поэтому вам не нужно указывать как '@ RequestMapping', так и' @ Component'. – spencergibb
Кажется, что они забыли упомянуть об этом в документации или javadoc. Это также кажется совершенно неожиданным поведением. –