Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
生成API和laravel passport_Laravel_Api_Filter_Resources_Laravel Passport - Fatal编程技术网

生成API和laravel passport

生成API和laravel passport,laravel,api,filter,resources,laravel-passport,Laravel,Api,Filter,Resources,Laravel Passport,我是拉威尔的新手,请回答我的问题。 我正在用Laravel5.8开发一个系统,其中包括两个用户级别 使用者 管理员 经过身份验证的用户可以查看帖子并将其存储到数据库中。(操作:索引,显示和存储) 经过身份验证的管理员可以查看用户发布的帖子并批准发布。(操作:索引,显示,存储和销毁) 我的数据库表:图书如下所示: 身份证 名字 页数 类型 作者 和用户表: 身份证 名字 电子邮件 密码 和管理员表: 身份证 名字 电子邮件 密码 第一个问题: 在我的api.php Route::apiResour

我是拉威尔的新手,请回答我的问题。

我正在用Laravel5.8开发一个系统,其中包括两个用户级别

  • 使用者
  • 管理员
  • 经过身份验证的用户可以查看帖子并将其存储到数据库中。(操作:
    索引
    显示
    存储
  • 经过身份验证的管理员可以查看用户发布的帖子并批准发布。(操作:
    索引
    显示
    存储
    销毁
  • 我的数据库表:图书如下所示:
  • 身份证
  • 名字
  • 页数
  • 类型
  • 作者
  • 和用户表:
  • 身份证
  • 名字
  • 电子邮件
  • 密码
  • 和管理员表:
  • 身份证
  • 名字
  • 电子邮件
  • 密码
  • 第一个问题:

    在我的
    api.php

    Route::apiResource('books', 'BookController');
    
    这是我想要的路线和结构

    # index()
    // http://127.0.0.1:8000/api/v1/books/drama -> get all books where type is drama
    // http://127.0.0.1:8000/api/v1/books/novel -> get all books where type is novel
    // http://127.0.0.1:8000/api/v1/books/magazine -> get all books where type is magazine
    
    我如何使用由命令创建的BookController实现这一点:

    php artisan make:controller BookController --api
    
    以及如何在路由中为v1添加前缀?我不想在RouteServiceProvider.php中添加该版本号的前缀

    另一个问题:

    如何对多个用户进行oauth?管理员和用户都是api的消费者。

    因为我现在自己正在开发一个api,我知道您的一些问题,并且已经成功地完成了这项任务,所以我尝试回答您的问题

    URL中的“v1”前缀:我已经在我的
    routes/api.php
    文件中使用

    Route::prefix('/v1')->group(function () { 
    // my routes for version 1
    }
    
    对于你的用户/管理员的东西有一个词:我没有把它放在两个单独的表中。这个想法是,你有一群用户,其中只有一些是管理员。那么为什么不使用
    admin
    标志来标记它们,并为用户模型(在
    User.php
    中)提供一个方法,如果该标志设置为
    true
    false
    ,则使用
    is\u admin
    返回。您可以看到,登录用户是否是管理员

    有了它,你可以随时在你的应用程序中用
    auth()->user()->is_admin
    检查它,看它是否是管理员


    希望,我能帮你一点,因为我现在自己正在开发一个api,我知道你的一些问题,并且已经成功地完成了这项任务,所以我尝试回答你的问题

    URL中的“v1”前缀:我已经在我的
    routes/api.php
    文件中使用

    Route::prefix('/v1')->group(function () { 
    // my routes for version 1
    }
    
    对于你的用户/管理员的东西有一个词:我没有把它放在两个单独的表中。这个想法是,你有一群用户,其中只有一些是管理员。那么为什么不使用
    admin
    标志来标记它们,并为用户模型(在
    User.php
    中)提供一个方法,如果该标志设置为
    true
    false
    ,则使用
    is\u admin
    返回。您可以看到,登录用户是否是管理员

    有了它,你可以随时在你的应用程序中用
    auth()->user()->is_admin
    检查它,看它是否是管理员


    希望,我可以帮你一点忙,为什么你不想在RouteServiceProvider中设置
    v1
    前缀。。。而且
    auth
    中间件可以为您要检查的不同防护获取参数。如何从route获得BookController中的
    小说
    戏剧
    、或
    杂志
    ?它将作为参数传递给您的
    show
    方法。。。对于您正在显示的URL,为什么不希望在RouteServiceProvider中设置
    v1
    前缀。。。而且
    auth
    中间件可以为您要检查的不同防护获取参数。如何从route获得BookController中的
    小说
    戏剧
    、或
    杂志
    ?它将作为参数传递给您的
    show
    方法。。。对于那些你正在展示的网址,非常感谢你友好的回答。
    前缀
    起作用。对于user/admin案例,如果出于某些原因需要使用两个表:users和admins,是否可以使用
    laravel passport
    对这两个用户类型进行身份验证?我认为
    passport
    只有针对用户的配置表。如果这是不可能的,我需要使用两个表,我想实现身份验证功能,我的选择是什么?sry,20年来从未有过这个要求,但看看passport配置,也许你可以在那里找到信息。但是我真的认为,两张桌子是没有用的。非常感谢。非常感谢你友好的回答。
    前缀
    起作用。对于user/admin案例,如果出于某些原因需要使用两个表:users和admins,是否可以使用
    laravel passport
    对这两个用户类型进行身份验证?我认为
    passport
    只有针对用户的配置表。如果这是不可能的,我需要使用两个表,我想实现身份验证功能,我的选择是什么?sry,20年来从未有过这个要求,但看看passport配置,也许你可以在那里找到信息。但我真的认为,两张桌子没用了。非常感谢。