【发布时间】:2014-06-21 03:25:54
【问题描述】:
我正在使用 Spring(启动、数据、数据休息)构建一个小型应用程序。
我有一些自动导出为 Rest 端点的 JpaRepositories。
我想要做的是将基本路径从/更改为/api。
现在列出所有人,例如,我对http://localhost:8080/people 进行 GET,我希望 url 为 http://localhost:8080/api/people。
我尝试添加这个配置类,但什么也没发生(似乎 Spring Boot 覆盖了这个配置):
public class SpringWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{
@Override
protected Class<?>[] getRootConfigClasses()
{
return new Class<?>[] { Application.class};
}
@Override
protected Class<?>[] getServletConfigClasses()
{
return new Class<?>[] { RestExporterRestConfig.class, RepositoryRestMvcConfiguration.class };
}
@Override
protected String[] getServletMappings()
{
return new String[] { "/api/*" };
}
}
我的Application.java:
@Configuration
@ComponentScan
@Import(RestExporterRestConfig.class)
@EnableJpaRepositories
@EnableAutoConfiguration
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
和RestExporterRestConfig:
@Configuration
public class RestExporterRestConfig extends RepositoryRestMvcConfiguration {
@Bean
public Validator validator() {
return new LocalValidatorFactoryBean();
}
@Override
protected void configureValidatingRepositoryEventListener(ValidatingRepositoryEventListener v) {
v.addValidator("beforeCreate", validator());
}
@Bean
@Qualifier
public DefaultFormattingConversionService defaultConversionService() {
DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService();
conversionService.addConverter(StringToDate.INSTANCE);
return conversionService;
}
@Bean
public DomainClassConverter<?> domainClassConverter() {
return new DomainClassConverter<DefaultFormattingConversionService>(defaultConversionService());
}
}
【问题讨论】:
标签: spring spring-boot spring-data-rest