AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

API 응답에 상위 레벨 데이터 추가 방법

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

  • 대상자: Laravel API 개발자
  • 난이도: 중급 (Laravel의 Resource 클래스 경험 필요)

핵심 요약

  • additional() 메서드 사용으로 API 응답의 최상위 레벨에 메타데이터 추가 가능
  • JsonResource 클래스에서 additional() 메서드를 통해 데이터 확장
  • 예시 결과 형식:

```json

{

"data": {"name": "Nuno Maduro", "role": "Software Engineer"},

"YouTube Channel": "..."

}

```

섹션별 세부 요약

1. 기존 리소스 데이터 구조

  • 리소스에서 반환되는 기본 데이터 예시:

```json

{"data": {"name": "Nuno Maduro", "role": "Software Engineer"}}

```

  • FooResource 클래스를 통해 데이터 생성

2. `additional()` 메서드 활용

  • additional() 메서드로 최상위 레벨에 데이터 추가:

```php

return FooResource::make(Baz::first())

->additional([

'YouTube Channel' => '...'

]);

```

  • JsonResource 클래스의 기능을 활용한 확장 방식

3. 최종 응답 구조

  • data 필드 외 추가 메타데이터 포함:

```json

{"data": {...}, "YouTube Channel": "..."}

```

  • with() 메서드는 동일한 기능을 제공

결론

  • Laravel의 JsonResource에서 additional() 메서드를 사용하여 API 응답의 상위 레벨에 메타데이터를 쉽게 추가할 수 있음
  • 공식 문서와 with() 메서드를 참고하여 추가적인 확장 가능