'response' => [
'class' => 'yiiwebResponse',
'on beforeSend' => function ($event) {
$response = $event->sender;
$response->format = yiiwebResponse::FORMAT_JSON;
},
],
如此,不管你客户端传什么,服务端最终输出的都会是json格式的数据了。
自定义错误处理机制
再来看另外一个比较常见的问题:
你看我们上面几个方法哈,返回的结果是各式各样的,这样就给客户端解析增加了困扰,而且一旦有异常抛出,返回的代码还都是一堆一堆的,头疼,怎么办?
说到这个问题之前呢,我们先说一下yii中先关的异常处理类,当然,有很多哈。比如下面常见的一些,其他的自己去挖掘
yiiwebBadRequestHttpException yiiwebForbiddenHttpException yiiwebNotFoundHttpException yiiwebServerErrorHttpException yiiwebUnauthorizedHttpException yiiwebTooManyRequestsHttpException
实际开发中各位要善于去利用这些类去捕获异常,抛出异常。说远了哈,我们回到重点,来说如何自定义接口异常响应或者叫自定义统一的数据格式,比如向下面这种配置,统一响应客户端的格式标准。
'response' => [
'class' => 'yiiwebResponse',
'on beforeSend' => function ($event) {
$response = $event->sender;
$response->data = [
'code' => $response->getStatusCode(),
'data' => $response->data,
'message' => $response->statusText
];
$response->format = yiiwebResponse::FORMAT_JSON;
},
],
说道了那么多,本文就要结束了,刚开始接触的同学可能有一些蒙,不要蒙,慢慢消化,先知道这么个意思,了解下restful api接口在整个过程中是怎么用token授权的就好。这样真正实际用到的时候,你也能举一反三!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易采站长站。







