попытка унифицировать работу с api через использование класса, формирующего ответ на api запрос. В парадигме ларавель подразумевается использовать Resource, но как по мне, его функционал несколько уже, чем хотелось бы. Достаточно сырая реализация, можно лучше

This commit is contained in:
vasya
2026-03-22 19:13:21 +03:00
parent e927910fda
commit f504c50c9b
3 changed files with 105 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
<?php
namespace App\Services;
use App\Dto\ApiResponseDto;
use Illuminate\Http\JsonResponse;
class ApiResponder{
public $dto;
public function __construct(
)
{}
public function success(): JsonResponse
{
return $this->buildResponse();
}
public function error()
{
return $this->buildResponse();
}
public function setDto(ApiResponseDto $dto)
{
$this->dto = $dto;
}
// public function fromDTO(ApiResponseDto $dto)
// {
// return $dto;
// }
#Гаврилов
//СБОР СТАТИСТИКИ ПО ВЫЗЫВАЕМЫМ API ЕНДПОИНТАМ. ВНЕСТИ В TODO ПРОЕКТА
private function setStatistics()
{
}
#Гаврилов
//ДОБАВЬ ЛОГИРОВАНИЕ ОШИБОК В TRY CATCH В .LOG ФАЙЛ
private function buildResponse(): JsonResponse
{
//echo '<pre>'; var_dump((array)$this->dto); echo'</pre>';
//return (array) $this->dto;
return response()->json((array) $this->dto);
}
}