You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Postman调用API时获取请求头值?JAX-RS接口提取RedId方法

问题1:在Postman中调用API时,如何获取调用时传递的请求头值?

有两种常用场景的实现方式:

  • 查看已发送请求的请求头内容:
    发送请求后,切换到「Headers」标签页,在「Request Headers」区域就能看到当前请求实际发送的所有请求头及其对应值。
  • 在脚本(Pre-request Script/Tests)中获取请求头值:
    使用pm.request.headers.get("Header-Name")语法,将Header-Name替换为目标请求头的名称。比如获取Content-Type的示例代码:
    const contentType = pm.request.headers.get("Content-Type");
    console.log(contentType); // 可在Postman控制台查看结果
    
问题2:在JAX-RS的POST接口中提取请求头RedId

可以通过两种简洁方式实现:

方式1:使用@HeaderParam注解直接注入

修改方法参数,添加@HeaderParam("RedId")注解,JAX-RS会自动将对应请求头的值注入到参数中:

@POST
@Path("/id")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response getDetails(DetailsRequest detailsRequest, 
                           @HeaderParam("RedId") String redId) {
    // 直接使用redId变量即可
    return Response.ok().build();
}

方式2:通过HttpHeaders对象获取

注入HttpHeaders实例,调用getHeaderString()方法获取指定请求头的值:

import javax.ws.rs.core.HttpHeaders;

@POST
@Path("/id")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response getDetails(DetailsRequest detailsRequest, 
                           @Context HttpHeaders headers) {
    String redId = headers.getHeaderString("RedId");
    // 使用redId变量
    return Response.ok().build();
}

如果RedId请求头可能存在多个值,可使用headers.getRequestHeader("RedId")获取一个List<String>类型的结果。

内容的提问来源于stack exchange,提问作者Udit R M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 01:57:07