HttpServletRequest httpReq = (HttpServletRequest) request;
if (httpReq.getHeader("device").equals("web1")) {
chain.doFilter(request, response);
}
我想知道如何检查请求标题中的键"device"
是否存在?
注意:不想使用getHeaderName
返回所有标题名称的枚举此请求包含并迭代的标题。
getParameterMap().containsKey("device")
在这里不起作用。
来自javadoc的HttpServletRequest.getHeader(String name)
:
如果请求不包括指定名称的标题,则 方法返回
null
。
因此,基本的空检查就足够了:
boolean deviceHeaderExists = httpReq.getHeader("device") != null;
稍微读取线之间的读数,如果您想接受强制性的device
标题,则可以在休息呼叫中的注释中对其进行编码。示例:
@GetMapping("/something")
public void doSomething(@RequestHeader("device") @NotNull String deviceName) {
// your logic here
}