REST:与控制器中的过滤器不同的路由

时间:2014-09-11 21:56:49

标签: php rest laravel-4

我有活动,细分为一日活动,经常性活动和节日活动。

我应该为每种类型的事件创建不同的路由,还是应该在单个路由api_v1/events上处理不同的事件类型,并从客户端发送参数eventType并基于过滤器在这个参数?

我有一个事件的抽象类,我将从中扩展不同的事件类型,因此我的计划是基于此参数在资源控制器中实例化一个不同的类。
唯一的问题是我会有很多代码重复,即。

if(eventtype == 'festival'){} 

等......用于索引,表演等方法 这对我来说似乎是不好的做法 什么设计明智是解决这个问题的最佳选择?

1 个答案:

答案 0 :(得分:0)

你应该有一条路线。

/api/events/recurring // returns all recurring events
/api/events/one-day // all one day events
/api/events/festivals // all festivals

然后是个别事件

/api/events/recurring/{eventName} // returns a specific event
// etc...

所以,基本结构是

/api/events/{eventType}/{eventName}

在您的代码中,您需要两个处理程序:

/api/events/{eventType} // handles multiple events
/api/events/{eventType}/{eventName} // handles a single event
相关问题