가이드
응답
모델이 JSON 응답으로 변환되는 방식을 알아봅니다.
Orion은 Eloquent 모델과 API 클라이언트에 반환되는 실제 응답 사이의 변환 계층으로 API Resources를 사용합니다.
이러한 클래스가 자동으로 해석되도록 하려면 App\Http\Resources\<model>Resource 또는 App\Http\Resources\<model>CollectionResource 패턴을 따라야 합니다.
예를 들어 App\Models\Message 모델이 있다면, 관련 리소스 클래스는 App\Http\Resources\MessageResource 또는 App\Http\Resources\MessageCollectionResource가 됩니다.
앱의 리소스 클래스명이 이 명명 규칙을 따르지 않거나 더 명시적으로 지정하고 싶다면, 컨트롤러의 protected $resource 또는 protected $collectionResource 속성에 전체 네임스페이스를 포함한 리소스 클래스명을 설정하세요.
<?php
namespace App\Http\Controllers\Api;
use App\Models\Message;
use App\Http\Resources\CustomMessageResource;
use App\Http\Resources\CustomMessageCollectionResource;
class MessagesController extends ApiController
{
/**
* @var string $model
*/
protected $model = Message::class;
/**
* @var string $resource
*/
protected $resource = CustomMessageResource::class;
/**
* @var string $collectionResource
*/
protected $collectionResource = CustomMessageCollectionResource::class;
}
Orion\Http\Resources\Resource와 Orion\Http\Resources\CollectionResource 클래스 모두에서 사용할 수 있는 편리한 toArrayWithMerge 메서드가 있으니 한번 살펴보세요 😉