我正在考虑在我的项目中应用GraphQL的可能性,该项目基于Laravel 5.4。现在我使用REST API,我没有授权问题(I use Fractal):我根据其角色和权限将数据集返回给用户,这对应于应用程序的业务逻辑。
现在我想使用GraphQL,但我不了解嵌入业务逻辑和授权的机制,这样我就可以返回一组数据,具体取决于请求数据的用户的权限。
请告诉我,这怎么办?有没有更好的实践将GraphQL集成到Laravel框架中?
答案 0 :(得分:0)
如果您打算使用this套餐,可以轻松完成。
例如,定义多个这样的方案: https://github.com/Folkloreatelier/laravel-graphql#schemas
然后在你的routes / web.php文件中定义
Route::get('/graphql/secret', ['middleware' => ['api:auth']], function () {
});
可以在以下路线上访问公共数据: http://your.domain/graphql?query=query+FetchUsers {{用户名称}}
可以在以下路由上访问受保护的数据: http://your.domain/graphql/secret?query=query+FetchUsers {用户{ID,电子邮件,名称}}