【发布时间】:2013-03-19 01:39:23
【问题描述】:
我的网络应用程序将从外部系统触发。它将调用我的应用的一个请求路径,但对不同类型的请求使用不同的查询参数。
其中一个参数是定义要做什么的“动作”。其余参数取决于“动作”。
所以我可以得到这样的请求参数:
action=sayHello&user=Joe
action=newUser&name=Joe&address=xxx
action=resetPassword
...
我希望能够在路由文件中对其进行类似的编码以供播放,以便它执行基于查询参数的路由并尽可能多地验证其他参数。
我所拥有的是一种路由,可用于所有这些可能性,并带有大量可选参数。它的动作处理从一个大的模式匹配开始,以进行调度和参数验证。
谷歌搜索和检查 SO 只是弹出了大量示例,其中参数以某种方式在请求路径中编码,因此多个路径被路由到相同的操作,但我想要相反:一个路径路由到不同的操作。
我的一位同事说,我们可以有一个“调度程序”操作,它会根据“操作”参数进行重定向。它会比当前的解决方案更有条理,但它不会消除应该有选择地传递给下一个操作的一长串可选参数,所以我希望有人知道一个更好的解决方案:-)
顺便说一句,调用我的应用的外部系统是由另一家公司开发的,我对这个设计没有影响,所以不能改变我的应用的触发方式。
【问题讨论】: