我的请求就像http://localhost:8080/app/app-name?param1=val¶m2=val2¶m3=val3
但我可以在服务器日志中看到param3首先出现,parma2和param 1
我应该遵循命令,怎么可能。
谢谢,
答案 0 :(得分:0)
有关此同一主题的其他帖子,请参阅here。
理想情况下,您的应用程序逻辑应该构建在请求查询参数的顺序无关紧要的位置。请参阅提供的答案here。
关于为Zuul定义过滤器,您可以通过RequestContext访问查询参数,如下所示(附加示例here):
<div class="video-wrap">
<video preload="none" poster="http://lorempicsum.com/rio/640/360/1">
<source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" type="video/mp4">
</video>
</div>
可替换地:
RequestContext ctx = RequestContext.getCurrentContext();
Map<String, List<String>> queryParams = ctx.getRequestQueryParams();
将检索查询字符串,但如果它保留了对查询参数的排序,它依赖于servlet规范 - 据我所知,对于排序没有/没有任何保证。
有关您感兴趣的servlet规范,请参阅here。