昨天的问题没人回答,我就再问一遍吧

来源:8-12 Theme接口验证与重构

www974

2017-09-14

http://szimg.mukewang.com/59b9d69f000140ce15850815.jpg


API:http://z.cn/api/v1/theme?ids=1,2,3


http://szimg.mukewang.com/59b9d6bc000153a507230112.jpg


路由配置。


http://szimg.mukewang.com/59b9d6d70001fc1107160413.jpg


控制器配置


http://szimg.mukewang.com/59b9d6f20001ab9a06470747.jpg


gocheck 方法。 报错 , debug 发现,是$result 问题

写回答

3回答

www974

提问者

2017-09-14

Render:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2017/9/11 0011
 * Time: 17:11
 */

namespace app\lib\exception;


use think\exception\Handle;
use think\Log;
use think\Request;

class ExceptionHandler extends Handle
{
    private $code;
    private $msg;
    private $errorCode;

    //所有抛出的异常都会通过render方法渲染
    public function render(\Exception $e){ //注意这里不用think\Exception 直接用父类Exception ,避免无法检测不属于think/Exception 的HttpException
       //return json("~~~~~~~~~~~~~~~");  //测试

        if($e instanceof BaseException){
             //如果是自定义异常
             $this ->code = $e -> code;
             $this -> msg = $e -> msg;
             $this -> errorCode = $e -> errorCode;
        }else{
            if(config('app_switch')){
                //给服务器看 只需要走TP5默认的render方法即可
                return parent::render($e); //调用父类方法
            }else{
                //给客户端看得
                $this -> code = 500;
                $this -> msg = '服务器内部错误';
                $this -> errorCode = 999;
                $this -> recordErrorLog($e);
            }

        }
        $request = Request::instance();
        //var_dump($request);
       $result = [
            'msg' => $this -> msg,
            'error_code' => $this -> errorCode,
            'request_url' => $request -> url
        ];
       //var_dump($result);
        return json($result,$this->code);
    }

    //日志
    private function recordErrorLog(\Exception $e){
        //初始化日志信息,日志地址和日志级别
        Log::init([
             'type' => 'File',
             'path' => LOG_PATH,
             'level' => ['error'] //只记录error及其以上级别的错误
        ]);
        //错误消息 错误级别
        Log::record($e->getMessage(),'error');
    }

}


0
0

www974

提问者

2017-09-14

//szimg.mukewang.com/59b9e74d000159bd14940231.jpg


$result 返回的是false

0
0

7七月

2017-09-14

这个你看一下handler里的render方法 Exception是哪个?这里应该使用PHP的Exception而不要使用Think下的Exception。

0
23
7七月
回复
www974
你把定义和 规则还有输入贴出来看下
2017-09-14
共23条回复

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4805 学习 · 4382 问题

查看课程