当前位置: 首页 > news >正文

餐饮网站建设优化建站网站技术支持是什么

餐饮网站建设优化建站,网站技术支持是什么,王烨飞微博,深圳软件定制公司排名前提 我希望通过中间件记录用户的请求数据、我的返回数据#xff0c;如果出现异常捕获异常。 代码 路由文件#xff1a;追加中间件api-logging#xff0c;用于记录日志 Route::prefix(api)-middleware([api, api-logging])-group(function () {...路由内容 });n…前提 我希望通过中间件记录用户的请求数据、我的返回数据如果出现异常捕获异常。 代码 路由文件追加中间件api-logging用于记录日志 Route::prefix(api)-middleware([api, api-logging])-group(function () {...路由内容 });namespace App\Http; class Kernel extends HttpKernel {...其他内容protected $routeMiddleware [... 其他中间件api-logging \App\Http\Middleware\ApiLoggingMiddleware::class,]; }重点中间件的编写 ?phpnamespace App\Http\Middleware;use Closure; use Illuminate\Http\Request; use App\Models\GameThirdPartyCallback;class ApiLoggingMiddleware {public function handle(Request $request, Closure $next){$requestHeaders $request-header();$requestData $request-all();$source $request-header(referer) ?? $request-ip();try {// 执行请求并获取响应$response $next($request);$responseStatus $response-status();$responseContent $response-getContent();} catch (\Exception $exception) {// 记录异常信息GameThirdPartyCallback::create([request_headers json_encode($requestHeaders),callback_data json_encode($requestData),response_status 500, // 或其他适当的错误状态码response_content An error occurred: . $exception-getMessage(),sources $source]);// 重新抛出异常交由Laravel处理throw $exception;}// 记录正常的响应数据GameThirdPartyCallback::create([request_headers json_encode($requestHeaders),callback_data json_encode($requestData),response_status $responseStatus,response_content $responseContent,sources $source]);return $response;} }我希望在下面这段可以当 n e x t ( next( next(request); 出现异常被捕获 try {// 执行请求并获取响应$response $next($request);} catch (\Exception $exception) {// 重新抛出异常交由Laravel处理throw $exception;}然而并不行如果控制器中出现了异常会被laravel的全局异常处理机制捕获$response $next($request); 会返回捕获后的异常处理的类也就是异常已经被处理掉了 最终处理方案 在全局异常处理的时候将异常内容插入到request中然后在中间件去获取这个自定义的属性 全局处理文件中加入下面这段代码 namespace App\Exceptions;use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; use Throwable;class Handler extends ExceptionHandler {/*** Render an exception into an HTTP response.** param \Illuminate\Http\Request $request* param \Throwable $exception* return \Symfony\Component\HttpFoundation\Response*/public function render($request, Throwable $exception){// 这里这段的内容是为了让异常内容可以被中间件获取// 因为控制器的异常会被laravel全局异常直接捕获导致中间件获取的内容是异常页面$request-attributes-set(exception_message, $exception-getMessage());return parent::render($request, $exception);} }然后中间件中获取exception_message ?phpnamespace App\Http\Middleware;use Closure; use Illuminate\Http\Request; use App\Models\GameThirdPartyCallback;class ApiLoggingMiddleware {public function handle(Request $request, Closure $next){$requestHeaders $request-header();$requestData $request-all();$source $request-header(referer) ?? $request-ip();$response $next($request); // 如果这里产生了异常不会在这里try catch。而是直接返回了response的错误内容$responseStatus $response-status();if ($responseStatus 400 $responseStatus 600) {GameThirdPartyCallback::create([request_headers json_encode($requestHeaders),callback_data json_encode($requestData),response_status $responseStatus,response_content $request-attributes-get(exception_message),sources $source]);} else {...}return $response;}}
http://www.hkea.cn/news/14438909/

相关文章:

  • 长沙装修网站排名ps个人主页网页设计模板
  • 专业网站开发费用湖南人文科技学院录取查询
  • 如何给网站加关键词建工社网校官网
  • 建设银行网站号本地佛山顺德网站设计
  • 烟台制作网站个人网站推广怎么做
  • 金融网站搭建wordpress 分类筛选
  • 自己的网站建设网推接单网
  • h5个人网站模板下载太仓网站公司
  • 西安网站建设qq群号wordpress 初始化
  • 找程序员的网站成都微信网站建设多
  • 网站开发需要证书吗云安区市场网络营销方法
  • 做网站找哪个公司好沈阳关键词网站排名
  • 怎么合作做网站做彩票的网站有哪些
  • 专业做网站优化价格济南做网站找哪家好
  • flash+xml地图网站湖北建设工程信息网站
  • 旅游网站建设策划方案网站设计待遇
  • 农产品网站开发 文献综述个人购买链接
  • 石岩附近做网站公司哪个公司的网络最好用
  • 建设部网站官网证书查询wordpress怎么缩短标题
  • 网站开发更新记录怎样打开用sql做的网站
  • 制作免费网站的平台聊天软件出售
  • 网站分享功能怎么做网站开发后服务费
  • 曲靖做网站需要多少钱网站主题旁边的图标怎么做的
  • 建筑工程网站免费做网站快速赚钱
  • 有哪些建筑设计网站厦门 网站建设 公司哪家好
  • 互联网网站开发有哪些职位域名创建
  • 网站后台程序设计常用语言 技术的分析比较吉林seo关键词
  • 合肥网站运营管理公司城建亚泰建设集团网站
  • 垫江集团网站建设做企业网站注意什么
  • 菏泽城乡住房建设局网站莱芜租房网站