gpt4 book ai didi

java - 如何使用 HttpServletRequest 在 Java 中捕获请求头

转载 作者:行者123 更新时间:2023-12-01 14:28:58 25 4
gpt4 key购买 nike

我想在java中捕获一个标题。我写的代码是正确的。尽管如此,它还是空的。能否请您提出更改建议。我正在拦截器中执行此任务。是否有我在 Controller 类上遗漏的任何注释或我需要在 Controller 类上做的任何配置?

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.jose4j.jwk.HttpsJwks;
import org.jose4j.jwt.JwtClaims;
import org.jose4j.jwt.consumer.InvalidJwtException;
import org.jose4j.jwt.consumer.JwtConsumer;
import org.jose4j.jwt.consumer.JwtConsumerBuilder;
import org.jose4j.keys.resolvers.HttpsJwksVerificationKeyResolver;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

@Configuration
@Component
public class TokenValidateInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {

String apiKey;
System.out.println("Header "+request.getHeader("xx")); //Null
System.out.println("request "+request); // request org.apache.catalina.core.ApplicationHttpRequest@4df9ffc7
System.out.println("request.tostring "+request.toString()); // request.tostring org.apache.catalina.core.ApplicationHttpRequest@e0770ef

I am passing the header using POSTMAN

最佳答案

请求中可能不存在“xx” header 。

代替

System.out.println("Header  "+request.getHeader("xx"));


Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
System.out.println("Header " + headerNames.nextElement());
}

查看服务器从客户端收到的所有 header 。

关于java - 如何使用 HttpServletRequest 在 Java 中捕获请求头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43908224/

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