1、给web.php最后加
/**
* 屏蔽错误路由
*/
$router->addRoute(['POST', 'GET'], '{url:.*}', function ($url) {
return ['status' => -1, 'message' => $url . ' not exist'];
});
/**
* 校验options
*/
$router->addRoute(['OPTIONS'], '{url:.*}', function () {
return ['status' => 200, 'message' => 'ok'];
});
2、给控制器 Controller.php 加
/**
* 返回错误
* @param $errorCode
* @param null $errorMsg
* @return \Illuminate\Http\JsonResponse
*/
protected function error($errorCode, $errorMsg = null)
{
if ($errorMsg === null) {
$errorMsg = empty(Error::MSG[$errorCode]) ? '未定义错误 ' . $errorCode : Error::MSG[$errorCode];
}
$result = array(
'code' => $errorCode,
'msg' => $errorMsg,
);
return response()->json($result);
}
/**
* 返回成功
* @param $message
* @param null $data
* @return \Illuminate\Http\JsonResponse
*/
protected function success($message, $data = null)
{
$res = array(
'code' => 0,
'msg' => $message,
);
if (isset($data)) {
$res['data'] = $data;
}
return response()->json($res);
}

本文介绍了一种在web.php中处理未定义路由和校验options请求的方法,同时展示了如何在Controller.php中统一处理API响应,包括错误和成功的响应格式。
565

被折叠的 条评论
为什么被折叠?



