laravel和dingoapi的结合使用

* dingoapi是一个laravel的开源插件,可以在github上搜索到,现在在做一个项目,项目中总是会有后端跟前端的json数据交互,而这个dingoapi为json交互提供了很大的便利。

*

先安装dingoapi

1、在composer.json中的require中添加"dingo/api":"1.0.*@dev",然后在项目根目录运行composer update

注意:dingoapi如果直接用composer require dingo/api:1.0.x@dev的方式安装是安装不成功的,
因为这个包作者本人还是将其设置为开发中,非稳定版,但是实际上这个包经过验证是稳定的,已经有4500+的star了。

2、在config/app.php中注册服务提供者到providers

Dingo\Api\Provider\LaravelServiceProvider::class,

3、生成dingoapi的配置文件

php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"

会在config文件夹里生成api.php这个配置文件

4、将api.php中的prefix默认值设置为api,也可以不是api,但是必须要有个后缀,后缀不要设置为"/",如果设置为"/",laravel的视图跟api会弄混淆,比如,在laravel中自定义了一个404错误页面,如果这里设置为"/"的话,访问不存在的页面的时候,会返回格式为json的错误信息,因为dingapi就是做接口用的,不管什么都会被转为json。

那如果想把视图跟api区分开来,路由文件需要这么写,以下是例子:

①首先显示修改RouteServiceProvider.php,把里面默认的路由的api.php改为你想要的后台admin.php

laravel和dingoapi的结合使用_第1张图片

②接着是定义路由开始格式:

laravel和dingoapi的结合使用_第2张图片

一定要记住!例如你用了localhost/你的项目名/public/,你写的Api路由后面必须加上api,也就是localhost/你的项目名/public/api,否则你就会报找不到这个路由的404!!

你可能感兴趣的:(php-laravel,dingo)