我有一个查询界面,允许查询 4 个可能的字段:姓名、出生年份、星座和出生状态。用户可以为这些字段中的任何一个字段提供值。我正在使用 AngularJS(此处为非物质)和 YiiFramework(物质)。
我已经看到了与此类似的问题的答案,但在大多数情况下,人们最终使用查询字符串参数。我可以在我的 urlManager 中解释这一点,但更愿意以“正确”的 RESTful 方式执行此操作。我已经看到了显示如何执行此操作的示例:
/myservice/index.php/names/jones?birthyears=&signs=leo&birthstates=maine - 表示他们没有提供出生年份
我的想法是完全通过跳过空白值的路径来做到这一点。这是一个合理的方法:
/myservice/index.php/api/modelname/names/jones/birthyears//signs/leo/birthstates/maine
如果是这样,那么我正在努力使用 urlManager 模式
array('api/find', 'pattern'=>'api/<model:\w+>/names/<names:(|\w+)>/birthyears/<birthyears:(|\d{4})>/标志/<标志:(|\w+)>/birthstates/<出生状态:(|\w+)>', 'verb'=>'GET')
当我通过上述路径时,我没有得到预期的分辨率。我相信有更好的方法来处理这个