dingo/api 是一个 Lumen 和 Laravel 都可用的 RestFul 工具包,帮助我们快速的开始构建 RestFul Api。参考文档地址:https://github.com/dingo/api/

第一步:安装dingo/api

    

composer require dingo/api

  

第二步:编译配置文件

php artisan vendor:publish

  

第三步:编辑生成的api.php

1、API_STANDARDS_TREE 值说明:

  未注册的树(x)主要表示本地和私有环境
  私有树(prs)主要表示没有商业发布的项目
  供应商树(vnd)主要表示公开发布的项目

  如果你不确定该如何选择,x 树或者说未注册树都是安全的。

2、API_SUBTYPE=myapp

  子类型通常是应用程序或项目的短名称,都是小写的。

3、前缀和子域:

  如果你曾经使用过 API 你就会知道大多数服务都来自子域或前缀。前缀或子域是必须的,但只需要一个。请避免使用版本号作为你的前缀或子域,因为版本控制是通过 header 头 Accept 处理的
    1)前缀:API_PREFIX=api
    2)子域:API_DOMAIN=api.myapp.com

4、版本号 : API_VERSION=v1
  这个版本号是你的 API 的默认版本号,并且会在一些未提供版本号的情况下作为回调的默认值使用。在生成 API 文档时也会使用这个版本号作为默认值。

5、名称:API_NAME=My API
  你的 API 的名称只会在你使用 API Blueprint 命令生成文档的时候使用。使用此名称可以避免你每次生成文档的时候都必须手动定义名称。

6、条件请求 API_CONDITIONAL_REQUEST=false 【你可以在你的 .env 文件中将其配置为关闭】
  『条件请求』默认为开启状态,这有利于客户端的缓存机制在可能的情况下缓存 API 请求。

7、严格模式:API_STRICT=false
  严格模式要求客户端发送 Accept 头,代替配置文件中配置的默认版本。这意味着你将不能通过浏览器直接访问你的 API。

  如果开启严格模式,发送非法的 Acceept 标头会抛出一个未处理的异常   Symfony\Component\HttpKernel\Exception\BadRequestHttpException ,你需要自己处理这个异常。
8、响应格式 :API_DEFAULT_FORMAT=json
  默认的响应格式是 JSON,并有一个 JSON 响应格式是被默认注册。
  你可以在 .env 文件中配置默认的响应格式。更进一步的响应格式配置需要在一个 published 的配置文件,服务提供器,或是 bootstrap 文件中。

9:错误格式
  当包遇到错误时,它会尝试生成一个通用的错误响应,而不是将异常转储给用户。 它使用的错误格式可以根据自己的喜好进行配置。
您必须在已发布的配置文件或引导程序文件中对其进行配置。

$app['Dingo\Api\Exception\Handler']->setErrorFormat([
    'error' => [
        'message' => ':message',
        'errors' => ':errors',
        'code' => ':code',
        'status_code' => ':status_code',
        'debug' => ':debug'
    ]
]);

10、调试模式:API_DEBUG=true
  该包处理的通用错误包括一个 debug 键,当启用这个键时,将会填充堆栈跟踪详细信息。你可以在 .env 文件中配置它。

  

12-26 18:33