gpt4 book ai didi

java - 如何在我的 Controller 中使用 Spring HttpRequest?

转载 作者:行者123 更新时间:2023-11-30 10:39:08 26 4
gpt4 key购买 nike

我已经这样设置了我的测试

@SpringBootTest
@AutoConfigureMockMvc
@RunWith( SpringRunner.class )
public class PublicControllerTest {

@Autowired
private MockMvc mvc;

这是我的 Controller 签名

@GetMapping( produces = MediaTypes.HAL_JSON_VALUE )
ResponseEntity<ResourceSupport> index( final HttpRequest request ) {

现在它似乎是在注入(inject)一个代理值,但是如果你调用 request.getURI() 例如,它似乎是空的。

我正在尝试这样做,以便我可以将请求传递给 UriComponentsBuilder.fromHttpRequest( ),它由我的 Controller 中以前的 linkTo 方法调用,它们不是t 获取代理/null。

如何获取 HttpRequest? (注意:我不想/不能使用 HttpServletRequest,它可以正常通过,但不是 UriComponentsBuilder

的正确接口(interface)

最佳答案

所以我可以使用HttpServletRequest

@GetMapping( produces = MediaTypes.HAL_JSON_VALUE )
ResponseEntity<ResourceSupport> index( final HttpServletRequest request ) {

但它必须被包裹起来?通过ServletServerHttpRequest获取我想要的接口(interface)。

HttpRequest httpRequest = new ServletServerHttpRequest( request ) 

关于java - 如何在我的 Controller 中使用 Spring HttpRequest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39404168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com