java - 用Java输出Restful Web服务的请求头

标签 java rest jersey-2.0

我的要求很简单。我只是不知道该怎么做。我刚刚开始学习使用 java 的 Rest Web 服务。我这里的要求是找到对以下Web服务方法的请求的 header 部分。

@GET
@Produces(MediaType.TEXT_HTML)
@Path("/html")
public String getUserHtml(@Context HttpHeaders h){

    System.out.println(h.toString());
    String responce = "<h1>Hi m8!</h1>";
    return responce;
}

正如你所看到的,我尝试了一些东西,但是输出了 org.glassfish.jersey.server.ContainerRequest@c290c6b

这不是我想要的。有人可以告诉我如何输出整个标题字符串吗?我也尝试了 getHeaderString 方法,但不知道参数应该是什么。谢谢。

最佳答案

您可以通过调用 HttpHeaders 的 getRequestHeaders() 方法获取请求 header 详细信息,该方法将返回 MultivaluedMap<> 对象 -

MultivaluedMap<String, String> reauestHeaders = h.getRequestHeaders();

迭代此 map 以获取 header 详细信息。

关于java - 用Java输出Restful Web服务的请求头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39605293/

相关文章:

属性文件中的 Java Spring Maven 值

java - 用于匹配 S3 文件和目录的正则表达式

wordpress - 在 Wordpress.com 上使用 REST API 发帖 [错误 401,不允许]

python - 如何使用 Django 活塞以文本/纯文本形式返回响应?

asp.net-mvc - HTML 表单上 ASP.NET MVC 中的 PUT 或 DELETE 动词

java - 指定自定义应用程序上下文

spring - Jersey 自定义 ExceptionMapper 未在 400 Bad Request 上调用(验证失败时)

java - 我所有 REST API 中的 JSON 自定义响应,我可能不知道它叫什么?

java - 交换二维数组行?

java - mysql日期语法问题