เนื่องจากนี่เป็นการโจมตีครั้งแรกของ Google สำหรับปัญหาและฉันคิดว่าจะมีคนค้นหาสิ่งนี้มากขึ้น มีตัวเลือกใหม่ตั้งแต่ Spring Boot '1.4.0' ตอนนี้คุณสามารถกำหนดRequestMappingHandlerMappingแบบกำหนดเองที่อนุญาตให้กำหนดพา ธ อื่นสำหรับคลาสที่ใส่คำอธิบายประกอบด้วย@RestController
เวอร์ชันอื่นที่มีคำอธิบายประกอบแบบกำหนดเองที่รวม@RestControllerกับ@RequestMappingสามารถพบได้ในบล็อกโพสต์นี้
@Configuration
public class WebConfig {
@Bean
public WebMvcRegistrationsAdapter webMvcRegistrationsHandlerMapping() {
return new WebMvcRegistrationsAdapter() {
@Override
public RequestMappingHandlerMapping getRequestMappingHandlerMapping() {
return new RequestMappingHandlerMapping() {
private final static String API_BASE_PATH = "api";
@Override
protected void registerHandlerMethod(Object handler, Method method, RequestMappingInfo mapping) {
Class<?> beanType = method.getDeclaringClass();
if (AnnotationUtils.findAnnotation(beanType, RestController.class) != null) {
PatternsRequestCondition apiPattern = new PatternsRequestCondition(API_BASE_PATH)
.combine(mapping.getPatternsCondition());
mapping = new RequestMappingInfo(mapping.getName(), apiPattern,
mapping.getMethodsCondition(), mapping.getParamsCondition(),
mapping.getHeadersCondition(), mapping.getConsumesCondition(),
mapping.getProducesCondition(), mapping.getCustomCondition());
}
super.registerHandlerMethod(handler, method, mapping);
}
};
}
};
}
}