Laravel API最佳实践

ssu*_*hat 4 php api laravel

我正在使用laravel 5.1构建API.

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

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

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

Kog*_*oga 5

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

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

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