【问题标题】:How can I pass around the user_id through the header instead of passing it as a request parameter?如何通过标头传递 user_id 而不是将其作为请求参数传递?
【发布时间】:2023-01-25 17:38:03
【问题描述】:

对于各种 REST api 端点,user_id 将到达后端,需要进一步处理,然后作为响应发送回前端。

我有一种感觉,我可以通过标头来完成此操作,而不是每次都将其作为路径参数传递,但我似乎还找不到相关信息。

目前我将响应作为 ResponseEntity 发送。如果可能的话,我想保留这个选项。

我正在使用 Java 和 Spring Boot。

【问题讨论】:

    标签: java spring-boot rest http-headers httprequest


    【解决方案1】:

    https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/http/ResponseEntity.html

    @RequestMapping("/handle")
    public ResponseEntity<String> handle() {
      URI location = ...;
      HttpHeaders responseHeaders = new HttpHeaders();
      responseHeaders.setLocation(location);
      responseHeaders.set("MyResponseHeader", "MyValue");
      return new ResponseEntity<String>("Hello World", responseHeaders, HttpStatus.CREATED);
    }
    

    【讨论】:

    • 嗨@lukwas,感谢您的回复。我看到你的答案与发回时如何附加它有关。虽然这肯定会有帮助,但首先我需要了解如何在收到请求时从标头中获取它。因此,我假设在您编写的“URI location = ....;”之前需要一些代码。
    猜你喜欢
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多