Thinkphp设置接口返回格式为JSON
1、设置json格式D:\phpstudy_pro\WWW\myvue\api\config\app.php//修改数据格式// 默认输出类型'default_return_type'=> 'json',//增加这段// 是否返回json规范的格式'api_return_standard'=> true,2、在核心json类中设置D:\phpstudy_pro\WWW\myvue\ap
·
1、设置json格式
D:\phpstudy_pro\WWW\myvue\api\config\app.php
//修改数据格式
// 默认输出类型
'default_return_type' => 'json',
//增加这段
// 是否返回json规范的格式
'api_return_standard' => true,
2、在核心json类中设置
D:\phpstudy_pro\WWW\myvue\api\thinkphp\library\think\response\Json.php
加入对传递的数据判断数据格式是否为json格式
//引入类
use think\facade\Config;
/**
* 处理数据
* @access protected
* @param mixed $data 要处理的数据
* @return mixed
* @throws \Exception
*/
protected function output($data)
{
try {
if (Config::get('api_return_standard')) {
$data = $this->standard($data);
if (!$data) {
return ;
}
}
}
private function standard($data)
{
if (!isset($data[0]) || !is_int($data[0]) || !isset($data[1])) {
echo "数据格式错误<pre>";
print_r($data);
echo "</pre>";
return false;
}
if (200 === $data[0]) {
return ['ret' => 200, 'data' => $data[1], 'msg' => ''];
}
return ['ret' => $data[0], 'data' => [], 'msg'=>$data[1]];
}
控制器使用
<?php
namespace app\index\controller;
class Index
{
public function indexApi()
{
return [200, 123];
}
}
返回结果页面
更多推荐
已为社区贡献2条内容
所有评论(0)