黄宽的blog

宁可十年不将军,不可一日不拱卒



dingo+jwt+laravel5.2=初探api

        之前做的一个项目中,使用的lumen开发的接口,感觉没什么其他特别的东西,可能具体配置什么的同事们都已经做了吧,我就单纯做的逻辑开发,今天看到一个做api的教程,学习并记录一下,作为储备,以后说不定用得着。这个laravel真是越用觉得越强大,我不知道其他框架是否能达到这种效果,但至少我没有过这种需求,所以用到的laravel的功能,说不定还有百分之九十都没有用到过。以前数据库创建都是直接在数据库软件上直接建表,然后再用artisan做model等等操作(虽然早知道可以直接做迁移文件,但还是觉得麻烦),觉得以后还是能用laravel带有的功能做就用laravel的功能做吧。还有很多小玩意,很好用,等多了再多开一篇博文把那些小玩意记录一下。

dingo文档的git地址:https://github.com/dingo/api/wiki/Installation

jwt文档的git地址:https://github.com/tymondesigns/jwt-auth/wiki/Installation

第一步:做api一般是以子域名来提供服务,比如api.php01.com,我是在本地apache环境做的测试,首先先把子域名配置做好,hosts文件加个如api.php01.com,然后apache的httpd.conf配个host,servername也是api.php01.com。下次有机会线上做。

第二步:在composer.json里面将包引进来,update一下,用得国内镜像,速度贼快。之后就按照文档上来就全部配置成功了。配置成功后,访问现有的任意一路由会有Unable to boot ApiServiceProvider, configure an API domain or prefix.这个报错,这就基本配置完成了。

配置成功后config文件下会多出两个配置文件,api.php,jwt.php,在api.php里面的auth里面添加一些东西

,我的理解是这个配置可以有两项选择,一个是只选择用dingo验证,一个是使用dingo+jwt一起验证。

之后在路由文件里面加上这个,,根据以上路由创建api文件夹和controllers文件夹和indexcontroller控制器。之后在Controllers下面建一个基础控制器,这个基础控制器继承自Http的控制器,在这个控制器里面use一下dingo吓得helpers。index控制器继承自这个基础控制器。先来一个小demo,和小场景,别人调用你这个接口需要返回所有用户信息中的两个字段,先为user这张表做个转变器,

之后在index里面就可以直接返回了。这是使用dingo的一个最小的方法,没有包括一些返回状态和权限等,自此初入门配置和跑通就完成了,之后会写一些实际场景的应用。

  Laravel

作者  :  黄宽

不耻最后,即使慢,驰而不息,纵会落后,纵令失败



About ME

about me

黄宽

我不想成为一个庸俗的人。十年百年后,当我们死去,质疑我们的人同样死去,后人看到的是裹足不前、原地打转的你,还是一直奔跑、走到远方的我?

友情链接