'Retrieved Address', 'message' => 'You have successfully retrieved a Address' ]; } /** @var CanFetchAddress */ private $canFetchAddress; /** @var FetchesAddress */ private $fetchesAddress; /** * FetchAddressControllersLogic constructor. * @param CanFetchAddress $canFetchAddress * @param FetchesAddress $fetchesAddress */ public function __construct(CanFetchAddress $canFetchAddress, FetchesAddress $fetchesAddress) { $this->canFetchAddress = $canFetchAddress; $this->fetchesAddress = $fetchesAddress; } /** * @param Request $request * @return JsonResponse * @throws \App\Classes\Exceptions\AccessForbiddenException * @throws \App\Classes\Exceptions\RequestValidationException */ public function logic(Request $request) : JsonResponse { $this->canFetchAddress->passes(); $query = $this->fetchesAddress->execute(['id' => $request->route('id')]); return $this->resourceResponse(new AddressResource($query)); } }