安装
可以在composer.json文件添加也可用命令行添加
- "require": {
- "dingo/api": "2.0.0-alpha1"
- }
- composer require dingo/api:1.0.x@dev
在config/app.php
中注册服务提供者到providers
数组:
Dingo\Api\Provider\LaravelServiceProvider::class
如果你想要自定义扩展包配置可以将其发布到config
目录下:
php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"
在.env文件中添加如下信息
- AUTH_GUARD=api
- API_DEBUG=true //如果开启了调试模式的话吗,生成的错误信息会被扩展包放到debug键中,并与堆栈跟踪信息一起显示出来。
- API_VERSION=v1 //API的默认版本
- API_PREFIX=api //前缀和子域名或子域名:API_DOMAIN=api.myapp.com
- API_SUBTYPE=app //子类型通常是应用或项目的简称,或小写格式。
- API_STRICT=false //Strict模式要求客户端发送Accept头而不是默认在配置文件中指定的版本,这意味着你不能通过Web浏览器浏览API。如果Strict模式开启并且使用了无效的Accept头,API会抛出Symfony\Component\HttpKernel\Exception\BadRequestHttpException异常。
- API_NAME="Sites API" //API的名字只有在使用API Blueprint命令生成文档的时候才用到,这个名字作为默认名字以免生成文档时需要手动指定名字。
- API_STANDARDS_TREE=vnd //未注册的树(x)主要用于本地或私有环境,个人树(prs)主要用于非商业销售的项目,供应商树(vnd)主要用于公开的以及商业销售的项目
- API_DEFAULT_FORMAT=json //默认的响应格式是JSON
- API_CONDITIONAL_REQUEST=false //由于缓存API请求的时候会使用客户端缓存功能,所以默认开启了带条件的请求。
在routes/api文件中修改如下 即可开始使用dingo api
- $api = app('Dingo\Api\Routing\Router');
- $api->version('v1',
- [
- 'namespace' => 'App\Modules\Jdinsurance\Http\Controllers\Api\V1',
- //'middleware' => ['api'],
- 'limit' => 60,
- 'expires' => 1
- ],
- function ($api) {
- $api->group(['prefix' => 'jdinsurance'], function ($api) {
- $api->post('xxx', 'xxxx@xxxx')->name('xxxx');
- })
- })