我试图找到关于如何手动配置RestController的文档(即在配置类中)。这意味着不使用RestController注解。考虑到所有其他的注解,比如映射,路径变量等,这是否可能?
控制器本质上是一个带有请求映射的组件。参见 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";
}
}
但我不认为你能在配置中配置请求映射(路径变量等);至少我没有看到一个例子,也不知道如何配置。