我已经用这种方式设置了测试
@SpringBootTest @AutoConfigureMockMvc @RunWith( SpringRunner.class ) public class PublicControllerTest { @Autowired private MockMvc mvc;
这是我的控制器签名
@GetMapping( produces = MediaTypes.HAL_JSON_VALUE ) ResponseEntity<ResourceSupport> index( final HttpRequest request ) {
现在它似乎正在注入代理值,但是如果您调用request.getURI()例如,它似乎为空。
request.getURI()
我正在尝试执行此操作,以便可以将请求传递给UriComponentsBuilder.fromHttpRequest( ),这由linkTo控制器中的先前方法调用,并且它们没有获得代理/空值。
UriComponentsBuilder.fromHttpRequest( )
linkTo
如何获得HttpRequest?(注意:我不希望/不能使用HttpServletRequest通过得很好,但不是正确的界面UriComponentsBuilder
HttpServletRequest
UriComponentsBuilder
所以我可以使用 HttpServletRequest
@GetMapping( produces = MediaTypes.HAL_JSON_VALUE ) ResponseEntity<ResourceSupport> index( final HttpServletRequest request ) {
但是必须包裹起来吗?通过ServletServerHttpRequest获得我想要的界面。
ServletServerHttpRequest
HttpRequest httpRequest = new ServletServerHttpRequest( request )