这是一个 Laravel 5.5 + Dingo + JWT 的基础项目, 用于快速开始写 API
- Laravel/RESTful 交流群: 216721539
读文档很重要,请先仔细读读文档 laravel, dingo/api,jwt,fractal 的文档。
- dingo/api https://github.com/dingo/api
- dingo api 中文文档 dingo-api-wiki-zh
- jwt(json-web-token) https://github.com/tymondesigns/jwt-auth
- transformer fractal
- apidoc 生成在线文档 apidocjs
- rest api 参考规范 jsonapi.org
- api 调试工具 postman
- 有用的文章 http://oomusou.io/laravel/laravel-architecture
- php lint phplint
- Laravel 理念 From Apprentice To Artisan
- 我对 REST 的理解 http://blog.lyyw.info/2017/02/09/2017-02-09%20%E5%AF%B9rest%E7%9A%84%E7%90%86%E8%A7%A3/
$ git clone [email protected]:liyu001989/laravel-api-starter.git
$ composer install
$ 设置 `storage` 目录必须让服务器有写入权限。
$ cp .env.example .env
$ vim .env
DB_*
填写数据库相关配置 your database configuration
APP_KEY
php artisan key:generate
JWT_SECRET
php artisan jwt:secret
$ php artisan migrate
$ php artisan db:seed (默认添加了10个用户)
头信息中可以增加 Accept:application/vnd.app.v1+json 切换v1和v2版本
如果访问一直不对,可以进入public 目录执行 php -S localhost:8000 -t public
,然后尝试调用几个接口,从而确定是否为web服务器的配置问题。
- 通过一个中间件 https://github.com/liyu001989/dingo-serializer-switch 切换 fractal 的 serializer, 默认使用 array。
- 让 findOrFail 返回 404, 更方便使用
- 可以用过
Accept-Language
头来却换语言,比如 zh-CN, 当然也可以默认中文