-
API Resource, CollectionLaravel 2020. 3. 27. 17:52반응형SMALL
# API Resource를 내보낼 때 내용을 좀 가다듬고 싶다하면 사용
1. 서비스(Service) Resource 만들기
php artisan make:resource ServiceResource php artisan make:resource ServiceCollection
@ ServiceResource(데이터 개체의 형태 정의)
public function toArray($request) { return [ "id" => $this->id, "name" => $this->name, "url" => $this->url, "products" => ProductResource::collection($this->products()->get()) // 이런식도 가능 ]; }
@ ServiceCollection(데이터 모음의 형태 정의)
public $collects = ServiceResource::class; // 이걸 해줘야 collection의 개체들을 우리가 다듬어서 내보내려는 형태로 내보낼 수 있음. public function toArray($request) { return ["data" => $this->collection]; }
@ ServiceController
public function index(Request $request) { // return new ServiceCollection(Service::all()); // 그냥 다 내보내고 싶을 때 return new ServiceCollection(Service::paginate(1)); // 페이징도 하고 싶을 때 } public function show($service) { // 한개 return ServiceResource::make($service); }
LIST'Laravel' 카테고리의 다른 글
엑셀(Excel) 다루기 (0) 2020.04.27 이미지 다루기 with 미디어 라이브러리(Media Library) + S3 (0) 2020.04.21 라라벨 + 리액트 타입스크립트(typescript) (0) 2020.03.26 아이디 기반을 이메일에서 폰번호나 닉네임으로 바꾸는법 (0) 2020.03.26 Sanctum(spa login, auth) (0) 2020.03.26