南宁市住房建设局网站,策划案网站构成怎么写,白银市城乡建设局网站,wordpress打开html文件下载Dingo包的大多数配置都预先设置好了#xff0c;这样你就可以尽快的进入开发模式了#xff0c;我们也可以参照config/api.php中的env()函数中的内容在.env文件中去设置。当然也可以使用AppServiceProvider中的boot进行设置(这个怎么设置#xff1f;#xff1f;#xff1f;)…Dingo包的大多数配置都预先设置好了这样你就可以尽快的进入开发模式了我们也可以参照config/api.php中的env()函数中的内容在.env文件中去设置。当然也可以使用AppServiceProvider中的boot进行设置(这个怎么设置)提示: 如果你使用Laravel5,那么必须使用Dingo生成的配置文件config/api.php或者是使用Service Provider设置。生成config/api.php的方法php artisan vendor:publish --providerDingo\Api\Provider\LaravelServiceProviderStandards Tree一共提供了3种tree,x, prs, vndx: unregistered tree 本地或是私有环境prs: personal Tree 项目不是用于商业发布的vnd: vender tree 用于公开的商业项目在.env文件中这样配置API_STANDARDS_TREEvnd还是不理解x, prs, vndSubtypesubtype 是项目或工程的简称全部小写API_SUBTYPEzjpblog前缀和子域名通常对于api,我们会使用子域名或者是位于/api栏目下两者只要使用一个就可以了注意不要添加版本号到子域名或者是/api下版本号会有header的Accept处理// 设置栏目行API_PREFIXapi//或者是设置子域名两者选一个API_DOMAINapi.zhoujiping.com版本 Version两个作用1它是默认的版本号或者是没有提供版本号使用这个2是在生成api文档的时候会使用该版本号API_VERSIONv1名字 NameAPI_NAME 的唯一作用是在使用API Blueprint命令生成文档的时候会使用这样可以省去手动书写名字API_NAMEZhoujiping Blog//如果上面的设置不成功使用下面的API_NAMEZhoujiping Blog带条件的请求由于缓存API请求的时候会使用客户端的缓存功能所以默认是开启了带条件的请求如果要关闭这项API_CONDITIONAL_REQUESTfalse严格模式严格模式要求客户端发送Accept头代替.env文件中的version意味着不能通过浏览器访问api。如果Strict模式开启并且使用了无效的Accept头API会抛出一个Symfony\Component\HttpKernel\Exception\BadRequestHttpException异常。你可以在.env中配置这个选项API_STRICTfalse认证提供者默认情况下只有basic认证是可以用的后面的章节会用更多的介绍如果需要复杂功能的认证你需要注册服务提供者$app[Dingo\Api\Auth\Auth]-extend(oauth, function ($app) {return new Dingo\Api\Auth\Provider\JWT($app[Tymon\JWTAuth\JWTAuth]);});登录次数限制默认情况下是限制登录次数的你可以通过rate limiter注册自定义登录次数限制也可以使用系统自带的认证和取消认证的throttle模块。要进行更为复杂的操作也是需要注册服务提供者的$app[Dingo\Api\Http\RateLimit\Handler]-extend(function ($app) {return new Dingo\Api\Http\RateLimit\Throttle\Authenticated;});数据返回Response TransformerFractal 是默认的数据返回处理Transformer.我们可以在.env文件中设置在config/api.php中有//怎么设置.env????transformer env(API_TRANSFORMER, Dingo\Api\Transformer\Adapter\Fractal::class),也不可以不用上面的方法也可以注册成服务提供者这样可以用更多的功能:$app[Dingo\Api\Transformer\Factory]-setAdapter(function ($app) {$fractal new League\Fractal\Manager;$fractal-setSerializer(new League\Fractal\Serializer\JsonApiSerializer);return new Dingo\Api\Transformer\Adapter\Fractal($fractal);});上面这个不知道怎么用其实可以自己建立一个Transformer文件夹如针对User Model,声明UserTransformer 类并继承TransformerAbstract 类(laravist上这么用)返回格式 Response Formats默认的数据以json进行前后端的传递你也可以自己定义API_DEFAULT_FORMATjson更高级的数据格式如使用可以跨域访问的jsonp,需要在config/api.php中设置或者是注册成服务提供者Dingo\Api\Http\Response::addFormatter(json, new Dingo\Api\Http\Response\Format\Jsonp);错误返回格式这个非常重要以前经常是抛出异常错误提示非常不友好不规范一定要在config/api.php中定义好错误格式下面是默认的我们需要讨论讨论搞个自己的错误格式$app[Dingo\Api\Exception\Handler]-setErrorFormat([error [message :message,errors :errors,code :code,status_code :status_code,debug :debug]]);开启Debug模式API_DEBUGtrue