自动配置 RestController Spring 引导

AutoConfigure RestController Spring Boot

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

控制器本质上是一个带有请求映射的组件。参见 RequestMappingHandlerMapping

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

如果你想通过配置实例化一个"rest controller",你可以通过以下方式实现:

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

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