diff --git a/spring-data-rest-example/src/main/java/org/springframework/data/rest/example/RestExporterExampleRestConfig.java b/spring-data-rest-example/src/main/java/org/springframework/data/rest/example/RestExporterExampleRestConfig.java index 29abda13a..1cd6e749b 100644 --- a/spring-data-rest-example/src/main/java/org/springframework/data/rest/example/RestExporterExampleRestConfig.java +++ b/spring-data-rest-example/src/main/java/org/springframework/data/rest/example/RestExporterExampleRestConfig.java @@ -6,8 +6,8 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.support.ReloadableResourceBundleMessageSource; import org.springframework.data.rest.config.RepositoryRestConfiguration; import org.springframework.data.rest.example.jpa.Person; -import org.springframework.data.rest.example.jpa.PersonRepository; import org.springframework.data.rest.example.jpa.PersonValidator; +import org.springframework.data.rest.webmvc.RepositoryLinksResource; import org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration; import org.springframework.hateoas.Link; import org.springframework.hateoas.Resource; @@ -16,32 +16,38 @@ import org.springframework.hateoas.ResourceProcessor; /** * @author Jon Brisbin */ +@SuppressWarnings({"rawtypes"}) @Configuration //@ImportResource("classpath:META-INF/spring/security-config.xml") public class RestExporterExampleRestConfig extends RepositoryRestMvcConfiguration { - @Bean public MessageSource messageSource() { + @Bean + public MessageSource messageSource() { ReloadableResourceBundleMessageSource msgsrc = new ReloadableResourceBundleMessageSource(); msgsrc.setBasename("/WEB-INF/classes/ValidationMessages"); msgsrc.setFallbackToSystemLocale(false); return msgsrc; } - @Bean public PersonValidator beforeCreatePersonValidator() { + @Bean + public PersonValidator beforeCreatePersonValidator() { return new PersonValidator(); } - @Override protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) { + @Override + protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) { config.setResourceMappingForDomainType(Person.class) - .addResourceMappingFor("lastName") - .setPath("surname"); + .addResourceMappingFor("lastName") + .setPath("surname"); } - @Bean public ResourceProcessor> personResourceProcessor() { + @Bean + public ResourceProcessor> personResourceProcessor() { return new ResourceProcessor>() { RepositoryRestConfiguration config = config(); - @Override public Resource process(Resource resource) { + @Override + public Resource process(Resource resource) { System.out.println("processing " + resource); System.out.println("url: " + config.getBaseUri().toString()); resource.add(new Link("http://host:port/path", "myrel")); @@ -50,4 +56,15 @@ public class RestExporterExampleRestConfig extends RepositoryRestMvcConfiguratio }; } + @Bean + public ResourceProcessor rootLinksResourceProcessor() { + return new ResourceProcessor() { + @Override + public RepositoryLinksResource process(RepositoryLinksResource resource) { + resource.add(new Link("href", "rel")); + return resource; + } + }; + } + }