Laravel API最佳实践

时间:2015-12-17 01:50:31

标签: php api laravel

我正在使用laravel 5.1构建API。

我有3个部分访问权限:用户,管理员,超级管理员。

我很好奇处理控制器的做法。现在我为每个部分制作3个不同的控制器。但有时我需要在控制器内调用相同的功能。例如Product:all()

我真的应该使用3种不同的控制器吗?或者我只能使用2个控制器进行最佳操作?

1 个答案:

答案 0 :(得分:5)

当返回的数据集对所有用户(即基本用户,管理员和超级管理员)都相同时,我只会使用一个控制器/一个路由/api/v1/products

我猜每个管理员/超级管理员也是用户。因此,您应该使用仅检查用户是否是经过身份验证的用户的中间件保护您的/api/v1/products路由,因为这样他就可以访问数据。

如果除了只能由管理员/超级管理员访问的产品之外的数据,您应该为此创建另一个中间件。永远不必为完全相同的API创建两个或更多控制器/路由。