Zuul过滤器参数顺序

时间:2017-10-23 18:02:14

标签: java

我的请求就像http://localhost:8080/app/app-name?param1=val&param2=val2&param3=val3

但我可以在服务器日志中看到param3首先出现,parma2和param 1

我应该遵循命令,怎么可能。

谢谢,

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