AEM Assets API를 통해 콘텐츠를 업데이트하는 방법

AEM Headless 개발자 여정의 이 부분에서는 REST API를 사용하여 컨텐츠 조각에 액세스하고 업데이트하는 방법을 알아봅니다.

지금까지 그 이야기

AEM 헤드리스 여정의 이전 문서에서, AEM 배달 API를 통해 콘텐츠에 액세스하는 방법 AEM GraphQL API를 통해 AEM에서 헤드리스 컨텐츠에 액세스하는 방법을 배웠으며 이제 다음을 수행해야 합니다.

  • GraphQL에 대해 높은 수준의 이해를 제공합니다.
  • AEM GraphQL API의 작동 방식을 이해합니다.
  • 몇 가지 실용적인 샘플 쿼리를 이해합니다.

이 문서는 REST API를 통해 AEM에서 기존 헤드리스 콘텐츠를 업데이트하는 방법을 이해할 수 있도록 이러한 기본 사항을 기반으로 합니다.

목표

  • 대상: 고급
  • 목표: REST API를 사용하여 컨텐츠 조각의 컨텐츠에 액세스하고 업데이트하는 방법을 알아봅니다.
    • AEM Assets HTTP API 소개.
    • API에서 컨텐츠 조각 지원을 도입하고 논의합니다.
    • API의 세부 사항을 보여줍니다.

컨텐츠 조각에 Assets HTTP API가 필요한 이유는 무엇입니까

헤드리스 여정의 이전 단계에서 AEM GraphQL API를 사용하여 쿼리를 사용하여 콘텐츠를 검색하는 방법을 알아보았습니다.

다른 API가 필요한 이유는 무엇입니까?

Assets HTTP API를 사용하면 컨텐츠를 읽을 수 있지만, GraphQL API에서는 사용할 수 없는 작업 - Create , Update Delete 컨텐츠를 만들 수도 있습니다.

Assets REST API는 최신 Adobe Experience Manager as a Cloud Service 버전을 바로 설치할 때마다 사용할 수 있습니다.

자산 HTTP API

자산 HTTP API는 다음을 포함합니다.

  • 자산 REST API
  • 컨텐츠 조각에 대한 지원 포함

Assets HTTP API의 현재 구현은 REST 아키텍처 스타일을 기반으로 하며, CRUD 작업(만들기, 읽기, 업데이트, 삭제)을 통해 컨텐츠(AEM에 저장됨)에 액세스할 수 있습니다.

이러한 작업을 사용하여 API를 사용하면 JavaScript 프런트 엔드 애플리케이션에 컨텐츠 서비스를 제공하여 Adobe Experience Manager as a Cloud Service을 헤드리스 CMS(Content Management System)로 운영할 수 있습니다. 또는 HTTP 요청을 실행하고 JSON 응답을 처리할 수 있는 다른 애플리케이션입니다. 예를 들어, 단일 페이지 애플리케이션(SPA), 프레임워크 기반 또는 사용자 지정 환경에서는 API를 통해 제공되는 컨텐츠가 필요합니다(일반적으로 JSON 형식).

자산 HTTP API 및 컨텐츠 조각

컨텐츠 조각은 헤드리스 게재에 사용되며 컨텐츠 조각 은 특별한 유형의 자산입니다. 텍스트, 숫자, 날짜 등과 같은 구조화된 데이터에 액세스하는 데 사용됩니다.

Assets REST API 사용

액세스

Assets REST API는 /api/assets 종단점을 사용하고 선행 /content/dam 없이 자산에 액세스할 자산의 경로가 필요합니다.

  • 즉, 다음 위치에서 자산에 액세스합니다.
    • /content/dam/path/to/asset
  • 다음을 요청해야 합니다.
    • /api/assets/path/to/asset

예를 들어 /content/dam/wknd/en/adventures/cycling-tuscany에 액세스하려면 /api/assets/wknd/en/adventures/cycling-tuscany.json을 요청합니다

노트

액세스 권한:

  • /api/assets 선택기를 사용할 필요가 .model 없습니다.
  • /content/path/to/page ​선택기를 사용해야 .model 합니다.

작업

HTTP 메서드는 실행할 작업을 결정합니다.

  • GET - 자산 또는 폴더의 JSON 표현을 검색합니다
  • POST - 새 자산 또는 폴더를 만들려면
  • PUT - 자산 또는 폴더의 속성을 업데이트하는 방법
  • DELETE - 자산 또는 폴더를 삭제하려면
노트

요청 본문 및/또는 URL 매개 변수를 사용하여 이러한 작업 중 일부를 구성할 수 있습니다. 예를 들어, POST 요청으로 폴더나 자산을 만들어야 함을 정의합니다.

지원되는 요청의 정확한 형식은 API 참조 설명서에서 정의됩니다.

사용법은 특정 사용 사례와 함께 AEM 작성자 또는 게시 환경을 사용하는지에 따라 다를 수 있습니다.

  • 작성은 작성자 인스턴스에 바인딩된 것이 좋습니다(현재 이 API를 사용하여 게시할 조각을 복제할 방법이 없음).

  • AEM은 요청된 컨텐츠를 JSON 형식으로만 제공하므로 두 방법 모두에서 게재가 가능합니다.

    • AEM 작성자 인스턴스에서 저장 및 전달하면 방화벽 뒤에서 미디어 라이브러리 응용 프로그램이 충분해야 합니다.

    • 라이브 웹 전달을 위해 AEM 게시 인스턴스가 권장됩니다.

주의

AEM 클라우드 인스턴스의 Dispatcher 구성은 /api에 대한 액세스를 차단할 수 있습니다.

노트

자세한 내용은 API 참조를 참조하십시오. 특히 Adobe Experience Manager Assets API - 컨텐츠 조각.

읽기/전달

사용 방법:

GET /{cfParentPath}/{cfName}.json

예:

http://<host>/api/assets/wknd/en/adventures/cycling-tuscany.json

응답은 컨텐츠 조각에서와 같이 구조화된 컨텐츠와 함께 일련화된 JSON입니다. 참조는 참조 URL로 전달됩니다.

두 가지 유형의 읽기 작업이 가능합니다.

  • 특정 컨텐츠 조각을 경로별로 읽으면 컨텐츠 조각의 JSON 표현이 반환됩니다.
  • 경로별 컨텐츠 조각 폴더 읽기: 이렇게 하면 폴더 내에 있는 모든 컨텐츠 조각의 JSON 표현이 반환됩니다.

만들기

사용 방법:

POST /{cfParentPath}/{cfName}

본문에는 컨텐츠 조각 요소에서 설정해야 하는 초기 컨텐츠를 포함하여 만들 컨텐츠 조각의 JSON 표현이 포함되어 있어야 합니다. cq:model 속성을 설정해야 하며 유효한 컨텐츠 조각 모델을 가리켜야 합니다. 실패하면 오류가 발생합니다. application/json 로 설정된 헤더 Content-Type을 추가해야 합니다.

업데이트

사용 방법

PUT /{cfParentPath}/{cfName}

본문에는 주어진 컨텐츠 조각에 대해 업데이트할 사항에 대한 JSON 표현이 포함되어 있어야 합니다.

컨텐츠 조각, 단일 요소 또는 모든 요소 값 및/또는 메타데이터의 제목 또는 설명일 수 있습니다.

삭제

사용 방법:

DELETE /{cfParentPath}/{cfName}

AEM Assets REST API 사용에 대한 자세한 내용은 다음을 참조할 수 있습니다.

  • Adobe Experience Manager Assets HTTP API(추가 리소스)
  • AEM Assets HTTP API의 컨텐츠 조각 지원(추가 리소스)

다음은 무엇입니까?

AEM Headless 개발자 여정의 이 부분을 완료했으므로 다음을 수행해야 합니다.

  • AEM Assets HTTP API의 기본 사항을 이해합니다.
  • 이 API에서 컨텐츠 조각이 지원되는 방식을 이해합니다.

AEM Headless 여정을 계속 진행하려면 다음 문서 How to Go Live with Your Headless Application을 검토하여 AEM Headless 프로젝트를 실제로 라이브로 전환하십시오!

추가 리소스

이 페이지에서는