gpt4 book ai didi

scala - Play框架中基于查询参数的路由

转载 作者:行者123 更新时间:2023-12-02 16:18:25 25 4
gpt4 key购买 nike

我的网络应用程序将从外部系统触发。它将调用我的应用程序的一个请求路径,但对不同类型的请求使用不同的查询参数。

参数之一是定义要执行的操作的“操作”。其余参数取决于“操作”。

所以我可以获得像这样的请求参数:

action=sayHello&user=Joe
action=newUser&name=Joe&address=xxx
action=resetPassword
...

我希望能够在 Play 的路由文件中对其进行类似的编码,以便它执行基于查询参数的路由以及尽可能多的其他参数的验证。

我所拥有的是一种具有大量可选参数的路由,可以满足所有这些可能性。操作处理以大模式匹配开始,以进行调度和参数验证。

谷歌搜索和检查所以只是弹出了大量示例,其中参数以某种方式编码在请求路径中,因此多个路径被路由到同一操作,但我想要相反的情况:一个路径路由到不同的操作。

我的一位同事说我们可以有一个“调度程序”操作,该操作仅根据“操作”参数进行重定向。它会比当前的解决方案更加结构化,但它不会消除一长串可选参数,这些参数应该有选择地传递到下一个操作,所以我希望人们知道一个更好的解决方案:-)

顺便说一句,调用我的应用程序的外部系统是由另一家公司开发的,我对此设计没有影响力,因此无法更改我的应用程序的触发方式。

最佳答案

单一调度程序操作可能是可行的方法,并且您不需要在路由中指定所有可选参数。如果 action 始终存在,那么这就是您真正需要的唯一操作。

GET  /someRoute      controller.dispatcher(action: String)

然后在您的操作方法中,您可以访问 request.queryString 来获取任何其他可选参数。

关于scala - Play框架中基于查询参数的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15684854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com