讨论数量:
public function handle($request, Closure $next)
{
...
$response = $next($request);
if (!$request->expectsJson()) {
return $response;
}
...
}
/**
* 异常接管处理
* @param \Illuminate\Http\Request $request
* @param Exception $exception
* @return \Illuminate\Http\JsonResponse|\Symfony\Component\HttpFoundation\Response
* @throws Exception
*/
public function render($request, Exception $exception)
{
$response = parent::render($request, $exception);
list($api) = explode('/',trim($request->getRequestUri(),'/'));
if (isset($api) && strtolower($api) == 'api') {
$exceptionCode = $exception->getCode();
return $this->formatResponse($response,$exceptionCode);
}
return $response;
}
/**
* 需要被以Json返回的路由清单
* @var array
*/
protected $routes = ['api'];
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$thisRoute = strtolower(explode('/',trim($request->getRequestUri(),'/'))[0]);
if (in_array($thisRoute, $this->routes) || $request->expectsJson())
{
$request->headers->set('Accept', 'application/json');
}
return $next($request);
}
推荐文章: