Add @EnableEntityLinks to hypermedia support
This commit is contained in:
		
							parent
							
								
									2ddf322a65
								
							
						
					
					
						commit
						571a82fe90
					
				| 
						 | 
				
			
			@ -23,11 +23,14 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
 | 
			
		|||
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
 | 
			
		||||
import org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration;
 | 
			
		||||
import org.springframework.context.annotation.Configuration;
 | 
			
		||||
import org.springframework.hateoas.EntityLinks;
 | 
			
		||||
import org.springframework.hateoas.LinkDiscoverers;
 | 
			
		||||
import org.springframework.hateoas.Resource;
 | 
			
		||||
import org.springframework.hateoas.config.EnableEntityLinks;
 | 
			
		||||
import org.springframework.hateoas.config.EnableHypermediaSupport;
 | 
			
		||||
import org.springframework.hateoas.config.EnableHypermediaSupport.HypermediaType;
 | 
			
		||||
import org.springframework.plugin.core.Plugin;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestMapping;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * {@link EnableAutoConfiguration Auto-configuration} for Spring HATEOAS's
 | 
			
		||||
| 
						 | 
				
			
			@ -38,17 +41,21 @@ import org.springframework.plugin.core.Plugin;
 | 
			
		|||
 * @since 1.1.0
 | 
			
		||||
 */
 | 
			
		||||
@Configuration
 | 
			
		||||
@ConditionalOnClass(Resource.class)
 | 
			
		||||
@ConditionalOnMissingBean(LinkDiscoverers.class)
 | 
			
		||||
@ConditionalOnClass({ Resource.class, RequestMapping.class, Plugin.class })
 | 
			
		||||
@ConditionalOnWebApplication
 | 
			
		||||
@AutoConfigureAfter(WebMvcAutoConfiguration.class)
 | 
			
		||||
public class HypermediaAutoConfiguration {
 | 
			
		||||
 | 
			
		||||
	@Configuration
 | 
			
		||||
	@ConditionalOnMissingBean(LinkDiscoverers.class)
 | 
			
		||||
	@EnableHypermediaSupport(type = HypermediaType.HAL)
 | 
			
		||||
	@ConditionalOnClass(Plugin.class)
 | 
			
		||||
	@ConditionalOnWebApplication
 | 
			
		||||
	protected static class HypermediaConfiguration {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Configuration
 | 
			
		||||
	@ConditionalOnMissingBean(EntityLinks.class)
 | 
			
		||||
	@EnableEntityLinks
 | 
			
		||||
	protected static class EntityLinksConfiguration {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,6 +19,7 @@ package org.springframework.boot.autoconfigure.hateoas;
 | 
			
		|||
import org.junit.After;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
import org.springframework.context.annotation.Configuration;
 | 
			
		||||
import org.springframework.hateoas.EntityLinks;
 | 
			
		||||
import org.springframework.hateoas.LinkDiscoverer;
 | 
			
		||||
import org.springframework.hateoas.LinkDiscoverers;
 | 
			
		||||
import org.springframework.hateoas.MediaTypes;
 | 
			
		||||
| 
						 | 
				
			
			@ -58,6 +59,15 @@ public class HypermediaAutoConfigurationTests {
 | 
			
		|||
		assertTrue(HalLinkDiscoverer.class.isInstance(discoverer));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void entityLinksCreated() throws Exception {
 | 
			
		||||
		this.context = new AnnotationConfigWebApplicationContext();
 | 
			
		||||
		this.context.register(HypermediaAutoConfiguration.class);
 | 
			
		||||
		this.context.refresh();
 | 
			
		||||
		EntityLinks discoverers = this.context.getBean(EntityLinks.class);
 | 
			
		||||
		assertNotNull(discoverers);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void doesBackOffIfEnableHypermediaSupportIsDeclaredManually() {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue