我们需要在响应中添加状态代码。
喜欢
public function withArray(array $array, array $headers = array()) {
if ($this->statusCode == '200') {
$array = array('code' => $this->statusCode , 'success' => TRUE) + $array;
} else {
$array = array('code' => $this->statusCode, 'success' => FALSE) + $array;
}
return response()->json($array, $this->statusCode, $headers);
}
目前,我们已在"ellipsesynergie/api-response/src/Laravel/Response.php"
修改了库代码。
但我觉得。这不是好方法。
请您建议我如何在不更改库代码的情况下将其添加到所有响应中?
或者是否有任何方法可以从控制器添加状态代码以进行最终响应。
实际上,我们需要最终回复,例如" http://screencast.com/t/nmWF7PYU"。
请帮助我们。
提前致谢
答案 0 :(得分:0)
只需制作自己的Response
课程即可EllipseSynergie\ApiResponse\Laravel\Response
。我们称之为App\ApiResponse\MyResponse
使用您自己的方法覆盖EllipseSynergie\ApiResponse\Laravel\Response
中的所有方法。
例如:
public function withArray(array $array, array $headers = array())
{
$array['code'] = $this->statusCode;
$array['success'] = true;
return parent::withArray($array, $headers);
}
然后在你的app\Providers\AppServiceProvider.php
注册表中,你会上课:
$myResponse = new \App\ApiResponse\MyResponse(new \League\Fractal\Manager());
$this->app->instance('EllipseSynergie\ApiResponse\Contracts\Response', $myResponse);