当前位置: 代码迷 >> 综合 >> lumen-api项目小记 ---【博文迁移】
  详细解决方案

lumen-api项目小记 ---【博文迁移】

热度:62   发布时间:2024-01-26 08:02:40.0
  • ######lumen+dingo+jwt 环境 mac+mamp
  • #####1,新建 首先保证php环境最新7.2.10
    composer create-project --prefer-dist laravel/lumen xxx-api
  • #####2,安装dingo , 修改 composer.json 文件并且运行 composer update
"require": {"dingo/api": "2.0.0-alpha1"
}
  • #####3 .搭建mac 下 php nginx服务
    –1,在mamp nginx conf 下添加server ,
    –2.下改mamp界面设置
    –3,访问 www.xxx.com:7888 即可成功~

702C5769-B53D-4935-B2FE-1BFBF8A42936.png

这里又一个坑,环境配置好后,我手动修改的 /Application/MAMP 文件下的 nginx.conf文件,但是目录除了路由“/”其他路由都报404,后来搞了半天才发现是路由重写问题引起的,随后在mamp的nginx配置下加上一句 $uri $uri/ /index.php?$query_string; 就好了

87F0D8E1-0BF9-4ECB-A745-5047EFFC3B43.png

  • #####4. 配置–lumen bootstrap/app.php
    lumen框架下注册dingo服务提供者,并打开其他几个服务注释项
    $app->register(Dingo\Api\Provider\LumenServiceProvider::class);

  • #####5. routes 下创建 app.php

为了方便路由管理,分web和app两个文件,
创建好后在/brootstrap/app.php文件下加上$app->router->group(['namespace' => 'App\Http\Controllers',
], function ($router) {require __DIR__.'/../routes/web.php';require __DIR__.'/../routes/app.php';
});这里需要注意,使用$api = app('Dingo\Api\Routing\Router');
的路由,访问要加上.env配置的api前缀,不使用dingo的路由不用加
  • #####6. 安装jwt
    composer.json中加入"tymon/jwt-auth": "1.0.0-rc.3" --composer update
  • 注册 jwt 服务
    $app->register(Tymon\JWTAuth\Providers\LumenServiceProvider::class);
  • 生成jwt scret 生成加密密钥
    php artisan jwt:secret
  • 生成config配置文件

#####laravel下使用jwt生成config文件是这个命令,而lumen只能自己手动创建!包括生成controller,model,lumen的artisan没有对应的命令,只能手动生成

php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider" 
lumen就无视这条命令
  • 手动创建 /config/jwt.php /config/auth.php

oauth2.0 认证