Spring REST Docs produces a curl snippet which is very convenient when testing. It is equivalent to the MockMvc call as said in its docs but it would be good if its host part can be replaced with a test server's hostname (including port) instead of localhost. Is it possible to achieve it with the current version of it?
            Asked
            
        
        
            Active
            
        
            Viewed 2,630 times
        
    6
            
            
         
    
    
        Johnny Lim
        
- 5,623
- 8
- 38
- 53
2 Answers
17
            You can configure the host (and scheme and port) when you create the MockMvc instance:
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
        .apply(documentationConfiguration(this.restDocumentation).uris()
                .withScheme("https")
                .withHost("example.com")
                .withPort(443))
        .build();
 
    
    
        Andy Wilkinson
        
- 108,729
- 24
- 257
- 242
- 
                    Thanks! I missed it already documented in http://docs.spring.io/spring-restdocs/docs/1.0.0.BUILD-SNAPSHOT/reference/html5/#configuration-uris – Johnny Lim Oct 31 '15 at 23:51
7
            
            
        Using SpringBoot and autoconfiguration it could be:
@SpringBootTest
@RunWith(SpringRunner.class)
@AutoConfigureMockMvc    
@AutoConfigureRestDocs(uriScheme = "https", uriHost = "myhost", uriPort = "80")
public class Test { 
    @Autowired
    MockMvc mockMvc;
    ...
 
    
    
        Max Farsikov
        
- 2,451
- 19
- 25
- 
                    For some reason it doesn't worked for me, while manual configuration do the trick. – Vova Rozhkov Jul 30 '18 at 13:57