feat(handler): 增加了 restful 的支持

Signed-off-by: 李东云 <dongyu.li@luxcreo.ai>
This commit is contained in:
李东云
2023-06-19 18:15:00 +08:00
parent 205554068d
commit 8974ee595b

View File

@@ -31,6 +31,7 @@ use Psr\Http\Message\ResponseInterface;
use RedisException;
use Singularity\HDK\Core\Constants\CommonErrorCode;
use Singularity\HDK\Core\Exceptions\ValidateException;
use Singularity\HDK\Core\Service\ApiStyleService;
use Symfony\Component\Mailer\Exception\TransportException;
use Teapot\StatusCode\RFC\RFC4918;
use Teapot\StatusCode\RFC\RFC7231;
@@ -46,18 +47,15 @@ use Throwable;
*/
class CommonHandler extends ExceptionHandler
{
/**
*
* @var RequestInterface|null
*/
#[Inject(required: false)]
private ?RequestInterface $request;
/**
* @var StdoutLogger
*/
#[Inject]
private StdoutLogger $logger;
#[Inject]
private ApiStyleService $apiStyleService;
/**
* {@inheritDoc}
*/
@@ -65,7 +63,8 @@ class CommonHandler extends ExceptionHandler
{
// 阻止异常冒泡
$this->stopPropagation();
$restful = config('common.response.restful');
$restful = $this->apiStyleService->get();
// $restful = config('common.response.restful');
$code_name = config('common.response.code_name');
$message_name = config('common.response.message_name');
$is_testing = config('app_status') === true;
@@ -243,7 +242,7 @@ TRACE:
ERROR_LOG
);
$data = Json::encode($data);
if ($restful) {
if ($restful === ApiStyleService::RESTFUL) {
$response = $response->withStatus(
$status_code ?? $throwable->status ?? $throwable->statusCode ?? RFC7231::INTERNAL_SERVER_ERROR
);