自动配置 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";
}
}
但我认为您无法在配置中配置请求映射(路径变量等);至少我还没有看到一个例子,也没有弄清楚如何。
我试图找到有关如何手动配置 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";
}
}
但我认为您无法在配置中配置请求映射(路径变量等);至少我还没有看到一个例子,也没有弄清楚如何。