Java中如何检查HttpServletRequest是否包含key(使用spring boot)

Fid*_*ida 4 java spring-boot

HttpServletRequest httpReq = (HttpServletRequest) request;

if (httpReq.getHeader("device").equals("web1")) {
    chain.doFilter(request, response);
}
Run Code Online (Sandbox Code Playgroud)

我想知道如何检查"device"请求标头中是否存在密钥?

注意:不想使用getHeaderNamewhich 返回此请求包含的所有标头名称的枚举并遍历它。

getParameterMap().containsKey("device") 不在这里工作。

Rob*_*sen 7

来自 JavaDoc 的HttpServletRequest.getHeader(String name)

如果请求不包含指定名称的标头,则此方法返回null

所以一个基本的空检查就足够了:

boolean deviceHeaderExists = httpReq.getHeader("device") != null;
Run Code Online (Sandbox Code Playgroud)