diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfiguration.java index b6b85f62f0..72c285055a 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfiguration.java @@ -46,6 +46,7 @@ import org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguratio @ConditionalOnClass(RepositoryRestMvcConfiguration.class) public class RepositoryRestMvcAutoConfiguration { + @Configuration static class RepositoryRestMvcBootConfiguration extends RepositoryRestMvcConfiguration { diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfigurationTests.java index 78a9e1a53e..f89ba81964 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfigurationTests.java @@ -30,6 +30,7 @@ import org.springframework.boot.test.EnvironmentTestUtils; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.rest.core.config.RepositoryRestConfiguration; +import org.springframework.data.rest.webmvc.BaseUri; import org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration; import org.springframework.mock.web.MockServletContext; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; @@ -66,7 +67,11 @@ public class RepositoryRestMvcAutoConfigurationTests { assertNotNull(this.context.getBean(RepositoryRestMvcConfiguration.class)); RepositoryRestConfiguration bean = this.context .getBean(RepositoryRestConfiguration.class); - assertEquals("Custom baseURI not set", URI.create("foo"), bean.getBaseUri()); + URI expectedUri = URI.create("foo"); + assertEquals("Custom baseURI not set", expectedUri, bean.getBaseUri()); + BaseUri baseUri = this.context.getBean(BaseUri.class); + assertEquals("Custom baseUri has not been applied to BaseUri bean", expectedUri, + baseUri.getUri()); } @Test diff --git a/spring-boot-samples/spring-boot-sample-data-rest/src/main/resources/application.properties b/spring-boot-samples/spring-boot-sample-data-rest/src/main/resources/application.properties new file mode 100644 index 0000000000..22a152b9fb --- /dev/null +++ b/spring-boot-samples/spring-boot-sample-data-rest/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.data.rest.baseUri=/api \ No newline at end of file diff --git a/spring-boot-samples/spring-boot-sample-data-rest/src/test/java/sample/data/jpa/SampleDataRestApplicationTests.java b/spring-boot-samples/spring-boot-sample-data-rest/src/test/java/sample/data/jpa/SampleDataRestApplicationTests.java index 2cbbb97b17..200c4ef62e 100644 --- a/spring-boot-samples/spring-boot-sample-data-rest/src/test/java/sample/data/jpa/SampleDataRestApplicationTests.java +++ b/spring-boot-samples/spring-boot-sample-data-rest/src/test/java/sample/data/jpa/SampleDataRestApplicationTests.java @@ -69,7 +69,7 @@ public class SampleDataRestApplicationTests { public void findByNameAndCountry() throws Exception { this.mvc.perform( - get("/cities/search/findByNameAndCountryAllIgnoringCase?name=Melbourne&country=Australia")) + get("/api/cities/search/findByNameAndCountryAllIgnoringCase?name=Melbourne&country=Australia")) .andExpect(status().isOk()) .andExpect(jsonPath("_embedded.citys", hasSize(1))); } @@ -78,7 +78,7 @@ public class SampleDataRestApplicationTests { public void findByContaining() throws Exception { this.mvc.perform( - get("/cities/search/findByNameContainingAndCountryContainingAllIgnoringCase?name=&country=UK")) + get("/api/cities/search/findByNameContainingAndCountryContainingAllIgnoringCase?name=&country=UK")) .andExpect(status().isOk()) .andExpect(jsonPath("_embedded.citys", hasSize(3))); }