Skip to content

truongthaison/lumen-api-demo

 
 

Repository files navigation

lumen-api-demo

一个用lumen5.1写api的例子

测试地址 lumen.lyyw.info/api

测试文档 doc

相关文档

##使用dingo API 教程 http://vea.re/blog/150905-api-with-dingo-and-lumen-part-1

lumen 关闭了好多功能,所以要先修改一下才能使用

大概步骤是:

  1. 修改bootstrap/app.php,打开 Dotenv::load(__DIR__.'/../'),这样就可以加载.env文件了

  2. 打开 $app->withEloquent(),因为要使用orm

  3. 注册dingo的服务 $app->register(Dingo\Api\Provider\LumenServiceProvider::class),添加到80行左右那个位置。

  4. 然后就可以按照dingo的文档使用了

     $api = app('Dingo\Api\Routing\Router');
    
     $api->version('v1', function($api){
         $api->get('collections/{collection}', function(){
             return 'test';
         });
     });
    

使用问题

  1. 如何使用不同版本的api

再header中增加Accept

Accept: applicationAPI_STANDARDS_TREE.API_SUBTYPE.VERSION+json

例如:Accept: application/prs.lumen.v2+json

使用jwt

教程 http://laravelista.com/json-web-token-authentication-for-lumen/

这个库tymondesigns/jwt-auth图片的大标题写着 for laravel & lumen 但是!!还没有支持lumen,所以要按照上面的教程一步一步做很多工作。 作者说很快会跟新lumen的文档

https://github.com/generationtux/jwt-artisan 这个库支持了lumen, 已尝试,可以用, 我还是决定用tymondesigns的这个。

usage

  • composer install
  • 复制.env.example 为.env
  • 配置数据库信息
  • php artisan migrate
  • v2 版本的api 只是个例子,可以删除了

  • dingo/api#672 transformer include
  • 如果.env的某个值中有空格会报错log not found

About

lumen api demo, use dingo-api and jwt

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 98.9%
  • ApacheConf 1.1%