【发布时间】:2020-05-26 09:30:16
【问题描述】:
我试图找到有关如何手动配置 RestController(即在 Configuation 类中)的文档。这意味着不使用 RestController 注释。考虑到所有其他注释,如映射、路径变量等,是否完全有可能?
【问题讨论】:
标签: spring spring-boot spring-restcontroller spring-autoconfiguration
我试图找到有关如何手动配置 RestController(即在 Configuation 类中)的文档。这意味着不使用 RestController 注释。考虑到所有其他注释,如映射、路径变量等,是否完全有可能?
【问题讨论】:
标签: spring spring-boot spring-restcontroller spring-autoconfiguration
控制器本质上是一个带有请求映射的组件。见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";
}
}
但我认为您无法在配置中配置请求映射(路径变量等);至少我还没有看到一个例子,也没有弄清楚如何。
【讨论】: