Bu, sorunun ilk Google isabeti olduğundan ve daha fazla insanın bunu arayacağını varsayıyorum. Spring Boot '1.4.0'dan beri yeni bir seçenek var. Artık, not verilen sınıflar için farklı bir yol tanımlamaya izin veren özel bir RequestMappingHandlerMapping tanımlamak mümkün. @RestController
Özel ek açıklamalarla farklı bir versiyonu birleştirir o @RestController ile @ RequestMapping bu adreste bulunabilir blog post
@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);
}
};
}
};
}
}