接口返回数据用数组,打算在后置中间件中把数组转换为json返回给前端,如何在后置中间件里获取response主体内容,并转换为json?
尝试用$response->rawBody
就想在中间件中实现,不要推荐其它方案,如果需要其它方案,就不会在这提问了
RegController 接口代码
namespace app\api\controller;
use support\Request;
class RegController{
public function reg(Request $req){
$param = [
'status'=>1
];
return showReturnCode(200,$param,'success'); //返回的是数组
}
}
后置中间件代码
namespace app\api\middleware;
use Webman\Http\Request;
use Webman\Http\Response;
use Webman\MiddlewareInterface;
class ResJsonMiddleware implements MiddlewareInterface {
public function process(Request $request, callable $handler): Response {
$response = $handler($request);
$rawBody = $response->rawBody();
print_r($rawBody); //只打印 Array 这几个字符
return $response;
}
}
控制器不支持返回数组
好的