【问题标题】:AutoConfigure RestController Spring Boot自动配置 RestController Spring Boot
【发布时间】:2020-05-26 09:30:16
【问题描述】:

我试图找到有关如何手动配置 RestController(即在 Configuation 类中)的文档。这意味着不使用 RestController 注释。考虑到所有其他注释,如映射、路径变量等,是否完全有可能?

【问题讨论】:

    标签: spring spring-boot spring-restcontroller spring-autoconfiguration


    【解决方案1】:

    控制器本质上是一个带有请求映射的组件。见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";
       }
    }
    

    但我认为您无法在配置中配置请求映射(路径变量等);至少我还没有看到一个例子,也没有弄清楚如何。

    【讨论】:

      猜你喜欢
      • 2017-01-19
      • 2018-09-09
      • 2018-09-06
      • 1970-01-01
      • 2019-05-03
      • 2017-12-11
      • 2015-02-24
      • 1970-01-01
      相关资源
      最近更新 更多