Автоконфигурирование RestController Spring Boot - PullRequest
0 голосов
/ 26 мая 2020

Я попытался найти документацию о том, как вручную настроить RestController (то есть в классе конфигурации). Это означает без использования аннотации RestController. Учитывая все другие аннотации, такие как отображение, переменные пути и т. Д. c. это вообще возможно?

1 Ответ

1 голос
/ 28 мая 2020

Контроллер - это, по сути, компонент с отображением запроса. См. RequestMappingHandlerMapping.

    @Override
    protected boolean isHandler(Class<?> beanType) {
        return (AnnotatedElementUtils.hasAnnotation(beanType, Controller.class) ||
                AnnotatedElementUtils.hasAnnotation(beanType, RequestMapping.class));
    }

Если вы хотите создать экземпляр «контроллера отдыха» через конфигурацию, вы, вероятно, можете сделать это следующим образом:

@Configuration
public class MyConfiguration {
   @Bean
   public MyController() {
      return new MyController();
   }
}
@ResponseBody
public class MyController {
   @RequestMapping("/test")
   public String someEndpoint() {
      return "some payload";
   }
}

Но я не думайте, что вы сможете настроить сопоставления запросов (переменные пути, et c) в конфигурации; по крайней мере, я не видел примера и не понял, как это сделать.

...