在 Spring 5 中,我使用
org.springframework.mobile
jar 和 Device
类来检测 REST 请求是否来自移动设备。
代码:
if (device.isMobile() || device.isTablet()) {
return true;
}
但在春季 6,
org.springframework.mobile
罐子被移除。
是否有其他方法可以检查 REST 请求是否来自移动设备。
整个 Spring Mobile 库已被废弃,因为没有可靠的方法来确定谁(什么设备)是 HTTP 请求的发送者。客户端可以在 header 中设置一些信息,例如
User-Agent
,但这不是强制性的。
作为 REST API 所有者,您的最佳选择是在 API 中定义附加参数并让您的客户正确设置它。例如
deviceType=mobile
。
如果不可行,那么您可以尝试使用
User-Agent
检查上述标题的 HttpServletRequest.getHeader()
键。