可参考文章:
Servlet–HttpServletRequest获取请求信息(请求头、请求行、参数)详解
重点
入参
HttpServletRequest request
request.getQueryString() 获取问号以后的所有内容
技术背景
项目中需要动态获取url参数,前端因为移动端每次跟后端传递的参数属性不确定,所以无法固定参数类型、名称、个数。
情况介绍
1. url只有一个参数
https://www.baidu.com?auctionId=00000#/


2. url有多个参数
https://www.baidu.com?auctionId=00000&createBy=xxx&version=0.0.0&dealerId=00000&uid=000000000000#/


解决方案
入参
HttpServletRequest request
通过
request.getQueryString() 获取问号以后的所有内容
public String checkReport(HttpServletRequest request, Model model) {
String param = request.getQueryString()
log.info("param:{}",param)
.....
}
以上2种url param打印的日志:
param:auctionId=00000
param:auctionId=00000&createBy=xxx&version=0.0.0&dealerId=00000&uid=000000000000
效果
无论参数怎么变,接口都可用,大大提升了接口兼容性,健壮性。
注意:
getQueryString()应该是只能获取get方法的。
如果是post方法,应该使用request.getReader() 备注:是个流。需要处理,只能用一次。
版权声明:本文为weixin_44722978原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。