我正在使用laravel 5.1构建API。
我具有3部分访问权限:用户,管理员,超级管理员。
我对处理控制器的做法感到好奇。现在,我为每个部分制作3个不同的控制器。但是有时候我需要在控制器内部调用相同的函数。如Product:all()
。
我是否应该真正制作3个不同的控制器,或者我只能使用2个控制器进行最佳实践?
/api/v1/products
当返回的数据集对于所有用户都是相同的(即基本用户,管理员和超级管理员)时,我只会使用一个控制器/一条路由。
我想每个管理员/超级管理员也是一个用户。因此,您应该/api/v1/products
使用一种中间件来保护您的路由,该中间件仅检查该用户是否是经过身份验证的用户,因为这样便可以允许该用户访问数据。
如果产品以外的其他数据只能由管理员/超级管理员访问,则应为此创建另一个中间件。完全不必为完全相同的API创建两个或多个控制器/路由。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句