[AEM Forms]{class="badge positive" title="AEM Forms에 적용됩니다)."}

양식 데이터 모델(FDM)을 사용하여 작업 work-with-form-data-model

버전
문서 링크
AEM 6.5
여기 클릭
AEM as a Cloud Service
이 문서

양식 데이터 모델(FDM) 편집기​는 Adobe Experience Manager​(AEM) Forms에서 양식 데이터 모델(FDM)​을 만들고, 편집하고, 구성하기 위한 직관적인 사용자 인터페이스와 통합된 도구를 제공합니다. 편집기를 사용하여 FDM(양식 데이터 모델) 내에서 직접 연결된 데이터 소스의 데이터 모델 개체, 속성 및 서비스​를 추가하고 구성합니다.

양식 데이터 모델 편집기의 기능

데이터 통합

양식 데이터 모델 편집기는 다음 주요 작업을 지원합니다.

  • 연결된 데이터 소스의 데이터 모델 개체, 속성 및 서비스를 추가 및 구성​하여 FDM에 추가합니다.
  • 데이터 원본 없이 데이터 모델 개체 및 속성을 만듭니다. 이러한 개체를 먼저 정의하고 나중에 해당 데이터 모델 개체 및 속성과 바인딩하여 디자인을 소스 구성과 분리할 수 있습니다.
  • 데이터 모델 개체 속성에 대해 샘플 데이터를 생성하고 편집합니다. 이 샘플 데이터는 미리 보기 중에 적응형 Forms을 미리 채우므로 작성자와 테스터는 배포하기 전에 실제 값으로 양식 동작을 확인합니다.
  • FDM에 구성된 데이터 모델 개체 및 서비스를 테스트합니다. 기본 데이터 소스와 올바르게 통합되었는지 확인합니다.

사전 요구 사항

Forms 데이터 통합을 처음 사용하고 데이터 소스를 구성하거나 양식 데이터 모델(FDM)을 만들지 않은 경우 다음 항목을 참조하십시오.

양식 데이터 모델 편집기를 사용하여 수행할 수 있는 다양한 작업 및 구성에 대한 자세한 내용은 을 참조하십시오.

NOTE
양식 데이터 모델(FDM)을 만들고 작업하려면 fdm-author 및 forms-user 그룹 모두의 멤버여야 합니다. 이러한 그룹의 구성원이 되려면 Experience Manager 관리자에게 문의하십시오.

데이터 모델 개체 및 서비스 추가 add-data-model-objects-and-services

데이터 소스로 양식 데이터 모델(FDM)을 만든 경우 양식 데이터 모델 편집기를 사용하여 데이터 모델 개체 및 서비스를 추가하고, 속성을 구성하고, 데이터 모델 개체 간의 연결을 빌드하고, 양식 데이터 모델(FDM)과 서비스를 테스트할 수 있습니다. 이렇게 하면 단일 편집 환경 내에서 연결된 데이터 소스에서 직접 완전한 기능 데이터 모델을 조합할 수 있습니다.

양식 데이터 모델(FDM)의 사용 가능한 데이터 소스에서 데이터 모델 개체 및 서비스를 추가할 수 있습니다. 추가한 데이터 모델 개체는 모델 탭에 나타나는 반면, 추가한 서비스는 서비스 탭에 나타나며, 보다 쉬운 구성 및 테스트를 위해 두 개체 유형을 명확하게 구분합니다.

데이터 모델 개체 및 서비스를 추가하려면 다음을 수행합니다.

  1. Experience Manager 작성자 인스턴스에 로그인하고 Forms > 데이터 통합​으로 이동한 다음 데이터 모델 개체를 추가할 FDM(양식 데이터 모델)을 엽니다.

  2. 데이터 소스 창에서 데이터 소스를 확장하여 사용 가능한 데이터 모델 개체 및 서비스를 봅니다.

  3. 양식 데이터 모델(FDM)에 추가할 데이터 모델 개체 및 서비스를 선택하고 선택한 항목 추가​를 선택합니다. 이렇게 하면 선택한 객체와 서비스를 FDM에 추가하므로 해당 등록 정보를 구성하고 객체 간의 연관을 빌드할 수 있습니다.

    selected-objects

    선택한 데이터 모델 개체 및 서비스

    모델 탭에는 양식 데이터 모델(FDM)에 추가된 모든 데이터 모델 개체와 해당 속성이 그래픽으로 표시됩니다. 각 데이터 모델 개체는 FDM(양식 데이터 모델) 형식으로 상자에 표시되므로 모델의 구조를 시각적으로 쉽게 스캔할 수 있습니다.

    model-tab

    모델 탭에는 추가된 데이터 모델 개체가 표시됩니다

    note
    NOTE
    데이터 모델 개체 상자를 누른 채로 드래그하여 컨텐츠 영역에 구성할 수 있습니다. 양식 데이터 모델(FDM)에 추가된 모든 데이터 모델 개체는 데이터 소스 창에 회색으로 표시되며, 이는 이미 추가되었음을 나타내며 중복 항목을 방지합니다.

    서비스 탭에는 추가된 서비스가 나열됩니다.

    서비스-탭

    서비스 탭에 데이터 모델 서비스가 표시됩니다.

    note
    NOTE
    데이터 모델 개체 및 서비스 외에도 OData(Open Data Protocol) 서비스 메타데이터 문서에는 두 데이터 모델 개체 간의 연결을 정의하고 관련 데이터를 트래버스할 수 있는 탐색 속성이 포함되어 있습니다. 자세한 내용은 OData 서비스의 탐색 속성 사용을 참조하십시오.
  4. 양식 모델 개체를 저장하려면 저장​을 선택합니다.

    note
    NOTE
    FDM(양식 데이터 모델)의 [서비스] 탭에서 구성하는 서비스는 적응형 양식 규칙을 사용하여 직접 호출할 수 있으므로 양식 작성자는 런타임 시 데이터를 가져오거나 기록하는 등의 데이터 작업을 트리거할 수 있습니다. 구성된 서비스는 규칙 편집기의 서비스 호출 작업에서 사용할 수 있습니다. 적응형 양식 규칙에서 이러한 서비스를 사용하는 방법에 대한 자세한 내용은 규칙 편집기에서 서비스 호출 및 규칙 값 설정을 참조하십시오.

데이터 모델 개체 및 하위 속성 만들기 create-data-model-objects-and-child-properties

데이터 모델​은(는) 정보를 개체​라는 구조적이고 재사용 가능한 단위로 구성하며, 각 개체에는 개체의 개별 특성을 설명하는 자식 속성​이 포함될 수 있습니다. 잘 정의된 개체를 만들고 그 아래에 하위 속성을 중첩하면 응용 프로그램에서 저장, 유효성 검사 및 교환할 정보에 대한 명확한 계층 구조를 만들기 때문에 모든 데이터 모델을 구축하는 기본 단계입니다.

데이터 모델 개체 및 하위 속성이란 무엇입니까?

  • 데이터 모델 개체​는 관련 필드를 단일 논리 엔터티로 그룹화하는 명명된 컨테이너입니다. 객체는 고객, 주문 또는 제품과 같은 실제 또는 개념 항목을 나타내며 다른 요소가 첨부하는 최상위 구조 역할을 합니다.
  • 자식 속성​은(는) 개체 내에 중첩된 개별 필드입니다. 각 자식 속성은 해당 이름, 데이터 형식 및 값이 필요한지 여부와 같은 특성과 함께 부모 개체의 특성 하나를 정의합니다. 상위 개체 아래에 속성을 중첩하면 관련 데이터가 함께 그룹화되므로 명확성이 향상되고 모델을 쉽게 유지 관리할 수 있습니다.

이 상위-하위 관계는 데이터 모델에 계층 구조를 제공하는 것입니다. 객체는 상위 역할을 하고 하위 속성은 이 객체에서 컨텍스트를 상속하여 각 속성이 설명하는 엔티티와 명확하게 연결되도록 합니다.

데이터 모델 개체를 만드는 방법

다음 단계에 따라 데이터 모델에 새 개체를 정의합니다.

  1. 개체 이름을 지정합니다. 객체가 나타내는 엔티티를 식별하는 명확하고 설명적인 이름을 선택합니다. 일관된 이름 지정을 사용하면 모델을 나중에 더 쉽게 읽고 참조할 수 있습니다.
  2. 개체를 컨테이너로 정의합니다. 개체를 연결된 하위 속성을 보유할 최상위 요소로 설정합니다.
  3. 하위 속성을 추가합니다. 각 속성을 차례로 정의하여 객체의 속성을 설명하는 개별 필드를 첨부합니다.
  4. 각 속성에 데이터 형식을 할당합니다. 데이터의 유효성을 올바르게 검사할 수 있도록 각 하위 속성이 허용하는 값 유형(예: 텍스트, 숫자 또는 부울)을 지정합니다.
  5. 요구 사항 규칙을 설정합니다. 모델이 애플리케이션이 종속되는 제약 조건을 적용하는지 확인하면서 필요한 하위 속성과 선택 사항을 나타냅니다.

하위 속성 추가

객체에 하위 등록 정보를 추가할 때 다음 세부 정보로 각 등록 정보를 정의합니다.

  • 속성 이름 — 부모 개체 내의 특성에 대한 고유한 설명 레이블입니다.
  • 데이터 형식 — 속성의 값 종류로서 값의 유효성 검사 및 처리 방법을 제어합니다.
  • 필수 또는 선택적 상태 — 속성에 항상 값이 있어야 하는지 여부입니다.
  • 중첩된 구조(해당되는 경우) — 하위 속성은 그 자체로 자체 하위 속성을 가진 개체가 될 수 있으므로 복잡한 다중 수준 데이터를 모델링할 수 있습니다. 이러한 중첩을 통해 데이터 모델은 심층적으로 구조화된 정보를 나타낼 수 있습니다.

실용적인 응용 프로그램 및 이점

개체 및 하위 속성을 사용하여 데이터 모델을 구조화하면 다음과 같은 몇 가지 실질적인 이점이 있습니다.

  • 일관성 — 공유 개체 아래에 관련 필드를 그룹화하면 데이터가 응용 프로그램 전체에서 균일하게 저장되고 해석됩니다.
  • 재사용 가능성 — 잘 정의된 개체를 여러 위치에서 참조할 수 있으므로 중복이 줄어듭니다.
  • 유효성 검사 — 하위 속성에 데이터 형식 및 요구 사항 규칙을 할당하면 시스템이 잘못되거나 불완전한 데이터를 자동으로 포착할 수 있습니다.
  • 확장성 — 개체가 중첩된 자식 속성을 지원하므로 모델이 체계화되지 않고 점점 더 복잡한 관계를 나타내도록 성장할 수 있습니다.

모범 사례

  • 객체 및 해당 하위 속성에 대해 명확하고 설명적인 이름을 사용하여 모델이 자동으로 문서화되도록 합니다.
  • 관련 없는 구조로 분산하지 않고 동일한 상위 객체 아래에 관련 속성을 그룹화합니다.
  • 데이터 유형 및 요구 사항 규칙을 초기에 정의하십시오. 그렇게 하면 처음부터 안정적인 유효성 검사가 가능해집니다.
  • 필요에 맞게 중첩 — 추가 계층 구조가 데이터 구조를 의미 있게 반영하는 경우에만 하위 속성을 중첩합니다.

개체 및 그 자식 속성을 신중하게 정의하면 응용 프로그램이 작동하는 엔터티를 정확하게 나타낼 수 있도록 구성, 유지 관리 및 가능한 데이터 모델을 만들 수 있습니다.

데이터 모델 개체 만들기 create-data-model-objects

구성된 데이터 소스에서 데이터 모델 개체를 추가할 수 있지만, 데이터 소스 없이 데이터 모델 개체(엔티티라고도 함)를 생성할 수도 있습니다. 데이터 모델 개체​는 속성의 논리적 그룹화를 나타내는 양식 데이터 모델(FDM) 내의 구조화된 엔터티이며, 나중에 데이터 소스 필드에 바인딩하거나 독립적으로 사용할 수 있습니다. 이 기능은 백엔드 통합이 실행되기 전에 데이터 구조 디자인을 시작할 수 있기 때문에 특히 FDM(양식 데이터 모델)에서 데이터 소스를 아직 구성하지 않은 경우에 유용합니다.

데이터 소스 없이 데이터 모델 개체를 만드는 절차

데이터 소스 없이 데이터 모델 객체를 생성하려면 다음을 수행합니다.

  1. Experience Manager 작성자 인스턴스에 로그인하고 Forms > 데이터 통합(으)로 이동한 다음 데이터 모델 개체 또는 엔터티를 만들 FDM(양식 데이터 모델)을 엽니다.

  2. 엔터티 만들기​를 선택합니다.

  3. 데이터 모델 만들기 대화 상자에서 데이터 모델 개체의 이름을 지정하고 추가​를 선택합니다. 데이터 모델 개체가 FDM(양식 데이터 모델)에 추가됩니다. 새로 추가된 데이터 모델 개체는 다음 이미지에 표시된 대로 데이터 소스에 바인딩되지 않으며 어떤 속성도 가지고 있지 않습니다. 이 개체는 바인딩되지 않았으므로 속성을 정의하거나 데이터 소스에 연결할 때까지 순전히 구조적 자리 표시자로서 존재합니다.

    new-entity

다음 단계 next-steps-data-model-object

바인딩되지 않은 데이터 모델 개체가 만들어지면 자식 속성을 추가하여 해당 구조를 정의합니다. 이러한 하위 속성을 사용하면 개체가 보유한 필드와 특성을 지정할 수 있으며, 나중에 데이터 통합이 구성되면 데이터 소스에 바인딩될 수 있습니다. 이렇게 하면 데이터 모델 개체가 제대로 작동하고 양식에서 사용할 수 있게 됩니다.

하위 속성 추가 child-properties

양식 데이터 모델(FDM) 편집기를 사용하면 데이터 모델 객체 내에 하위 속성을 생성할 수 있습니다. 새로 만든 자식 속성은 기본적으로 데이터 소스의 어떤 속성에도 바인딩되어 있지 않습니다. 나중에 하위 속성을 포함된 데이터 모델 개체의 다른 속성에 바인딩할 수 있습니다.

하위 속성을 만들려면 다음 작업을 수행하십시오.

  1. 양식 데이터 모델에서 데이터 모델 개체를 선택하고 자식 속성 만들기​를 선택합니다.

  2. 자식 속성 만들기 대화 상자에서 각각 이름 및 형식 필드에 속성의 이름과 데이터 형식을 지정합니다. 속성에 대한 제목과 설명을 선택적으로 지정할 수 있습니다.

  3. 속성이 직접 입력되지 않고 규칙 또는 표현식​을(를) 기반으로 값이 평가되는 속성(계산된 속성)인 경우 계산됨​을 사용하도록 설정합니다. 자세한 내용은 속성 편집을 참조하세요.

  4. 데이터 모델 개체가 데이터 소스에 바인딩되면 추가된 자식 속성은 동일한 이름 및 데이터 형식의 부모 데이터 모델 개체의 속성에 자동으로 바인딩됩니다. 이 자동 바인딩은 이름과 데이터 형식 모두에서 일치하므로 추가 수동 단계 없이 하위 속성이 상위 속성과 일관되도록 합니다.

    하위 속성을 데이터 모델 개체 속성으로 수동으로 바인딩하려면 바인딩 참조 필드 옆에 있는 찾아보기 아이콘을 선택합니다. 개체 선택 대화 상자에 상위 데이터 모델 개체의 모든 속성이 나열됩니다. 바인딩할 속성을 선택하고 확인 표시 아이콘을 선택합니다. 유효한 바인딩에는 데이터 형식 일치가 필요하므로 자식 속성과 동일한 데이터 형식의 속성만 선택할 수 있습니다.

  5. 하위 속성을 저장하려면 완료​를 선택하고 양식 데이터 모델(FDM)을 저장하려면 저장​을 선택합니다. 이제 하위 속성이 데이터 모델 개체에 추가됩니다.

데이터 모델 개체 및 속성을 생성한 후에는 양식 데이터 모델(FDM)을 기반으로 적응형 Forms을 계속 생성할 수 있습니다. 나중에 사용 가능하고 구성된 데이터 소스가 있으면 FDM(양식 데이터 모델)을 데이터 소스와 바인딩할 수 있습니다. 그 결과, 바인딩은 관련된 모든 적응형 Forms에서 자동으로 업데이트되므로 변경 사항은 수동으로 재구성하지 않고 전파됩니다. FDM(양식 데이터 모델)을 사용하여 적응형 Forms을 만드는 방법에 대한 자세한 내용은 양식 데이터 모델 사용을 참조하십시오.

데이터 모델 개체 및 속성 바인딩 bind-data-model-objects-and-properties

양식 데이터 모델(FDM)과 통합할 데이터 소스를 사용할 수 있으면 데이터 소스 업데이트에 설명된 대로 양식 데이터 모델(FDM)에 추가할 수 있습니다. 바인딩되지 않은 데이터 모델 개체 또는 속성​은(는) FDM(양식 데이터 모델)에 있지만 연결된 데이터 소스의 필드에 아직 매핑되지 않은 개체로, 바인딩이 설정될 때까지 데이터를 읽거나 쓸 수 없습니다. 그런 다음 바인딩되지 않은 데이터 모델 개체와 속성을 바인딩하려면 다음을 수행합니다.

  1. 양식 데이터 모델에서 데이터 소스와 바인딩할 바인딩되지 않은 데이터 소스를 선택합니다.

  2. 속성 편집​을 선택하십시오.

  3. 속성 편집 창에서 바인딩 필드 옆에 있는 찾아보기 아이콘을 선택합니다. 찾아보기 아이콘을 클릭하면 개체 선택 대화 상자가 열리고 FDM(양식 데이터 모델)에 추가된 데이터 소스가 나열됩니다.

    개체 선택

  4. 데이터 소스 트리를 확장하고 바인딩할 데이터 모델 개체를 선택한 다음 틱 아이콘을 선택합니다.

  5. 완료​를 선택하여 속성을 저장한 다음 저장​을 선택하여 양식 데이터 모델을 저장합니다. 이제 데이터 모델 개체가 데이터 소스로 바인딩됩니다. 이렇게 하면 런타임 시 개체가 연결된 데이터 소스에서 읽고 쓸 수 있습니다. 저장한 결과, 데이터 모델 개체는 더 이상 바인딩되지 않음 으로 표시되지 않으므로 바인딩이 완료되었음을 확인합니다.

    bound-model-object

서비스 구성 configure-services

읽기 및 쓰기 서비스를 구성하면 데이터 모델 개체가 FDM(양식 데이터 모델) 내에서 데이터를 읽고 쓸 수 있습니다. 데이터 모델 개체에 대한 읽기 및 쓰기 서비스를 구성하려면 다음 단계를 완료하십시오.

  1. 데이터 모델 개체 상단의 확인란을 선택하여 선택하고 속성 편집​을 선택합니다.

    edit-properties

    속성을 편집하여 데이터 모델 개체에 대한 읽기 및 쓰기 서비스를 구성합니다.

    속성 편집 대화 상자가 열립니다.

    edit-properties-2

    속성 편집 대화 상자

    note
    NOTE
    데이터 모델 개체 및 서비스 외에도 OData(Open Data Protocol) 서비스 메타데이터 문서에는 두 데이터 모델 개체 간의 연결을 정의하는 탐색 속성​이 포함되어 있습니다. OData 서비스 데이터 소스를 양식 데이터 모델(FDM)에 추가하면 FDM(양식 데이터 모델)에서 데이터 모델 개체의 모든 탐색 속성에 사용할 수 있는 서비스가 있습니다. 이 서비스를 사용하여 해당 데이터 모델 개체의 탐색 속성을 읽을 수 있습니다.
    서비스 사용에 대한 자세한 내용은 OData 서비스의 탐색 속성 사용을 참조하십시오.
  2. 데이터 모델 개체가 최상위 수준 모델 개체인지 여부를 지정하려면 최상위 수준 개체​를 전환하십시오.

    FDM(양식 데이터 모델)에 구성된 데이터 모델 개체는 FDM(양식 데이터 모델)을 기반으로 적응형 양식의 콘텐츠 브라우저에 있는 데이터 모델 개체 탭에서 사용할 수 있습니다. 두 데이터 모델 개체 간의 연결을 추가하면 연결하려는 데이터 모델 개체가 데이터 모델 개체 탭의 연결하려는 데이터 모델 개체 아래에 중첩됩니다. 중첩된 데이터 모델이 최상위 수준의 개체인 경우 데이터 모델 개체 탭에도 별도로 표시됩니다. 따라서 중첩된 계층 내부의 한 엔트리와 중첩된 계층 외부의 한 엔트리가 두 번 표시되어 양식 작성자를 혼동시킬 수 있습니다. 연결된 데이터 모델 개체가 중첩된 계층에만 나타나도록 하려면 최상위 수준 개체 속성을 사용하지 않도록 설정하십시오. 이렇게 하면 양식 작성자가 명확하고 단일 항목을 볼 수 있으므로 양식 작성 시 혼동을 줄일 수 있습니다.

  3. 선택한 데이터 모델 개체에 대해 읽기 및 쓰기 서비스를 선택하십시오. 그러면 선택한 서비스의 인수가 구성에 나타납니다.

    읽기-쓰기 서비스

    직원 데이터 원본에 대해 구성된 읽기 및 쓰기 서비스

  4. 인수를 사용자 프로필 특성, 요청 특성 또는 리터럴 값에 바인딩하려면 읽기 서비스 인수에 대해 aem63edit 을(를) 선택하고 바인딩 값을 지정하십시오.

  5. 인수를 저장하려면 완료​를 선택하고, 속성을 저장하려면 완료​를 선택한 다음 양식 데이터 모델(FDM)을 저장하려면 저장​을 선택합니다.

바인딩 읽기 서비스 인수 bindargument

Read 서비스 인수를 바인딩 값을 기반으로 세 가지 바인딩 형식(사용자 프로필 특성, 요청 특성 또는 리터럴 값) 중 하나에 바인딩합니다. Read 서비스는 이 값을 인수로 사용하여 데이터 소스에서 지정된 값과 연결된 세부 정보를 가져옵니다. 각 바인딩 유형은 인수 값의 발생 위치(고정 입력, 로그인한 사용자 프로필 또는 수신 요청)를 결정합니다.

리터럴 값 literal-value

바인딩 대상 드롭다운 메뉴에서 리터럴​을(를) 선택하고 바인딩 값 필드에 값을 입력하십시오. 값과 연관된 세부 정보는 데이터 소스에서 검색됩니다. Literal 바인딩은 사용자 또는 요청에 의존하지 않는 고정적이고 변경되지 않는 입력을 제공하므로 이 옵션을 사용하여 정적 값과 연결된 세부 정보를 검색합니다.

이 예제에서는 mobilenum 인수에 대한 값으로 4367655678​과(와) 관련된 세부 정보를 데이터 원본에서 검색합니다. 모바일 번호 인수에 대한 값을 전달할 때 반환되는 관련 세부 정보에는 고객 이름, 고객 주소 및 구/군/시 등의 속성이 포함될 수 있습니다.

리터럴 값

사용자 프로필 속성 user-profile-attribute

바인딩 대상 드롭다운 메뉴에서 사용자 프로필 특성​을(를) 선택하고 바인딩 값 필드에 특성 이름을 입력합니다. Experience Manager 인스턴스에 로그인한 사용자의 세부 정보는 특성 이름을 기반으로 데이터 소스에서 검색됩니다.

바인딩 값 필드에 지정된 특성 이름에는 사용자의 특성 이름까지의 전체 바인딩 경로가 포함되어야 합니다. CRXDE의 사용자 세부 정보에 액세스하려면 다음 URL을 엽니다.

https://[server-name]:[port]/crx/de/index.jsp#/home/users/

사용자 프로필

이 예제에서는 grios 사용자에 대한 바인딩 값 필드에 profile.empid​을(를) 지정합니다.

인수 편집

id 인수는 사용자 프로필에서 empid 특성의 값을 가져와서 Read 서비스에 인수로 전달합니다. 그런 다음 Read 서비스는 로그인한 사용자와 연결된 empid에 대한 직원 데이터 모델 개체에서 연결된 속성 값을 읽고 반환합니다.

요청 속성 request-attribute

들어오는 요청에서 제공된 값을 기반으로 데이터 소스에서 연결된 속성을 검색하려면 요청 속성 바인딩을 사용하십시오.

  1. 바인딩 대상 드롭다운 메뉴에서 요청 특성​을(를) 선택하고 바인딩 값 필드에 특성 이름을 입력합니다.

  2. head.jsp에 대한 오버레이를 만듭니다. 오버레이를 만들려면 CRX DE를 열고 https://<server-name>:<port number>/crx/de/index.jsp#/libs/fd/af/components/page2/afStaticTemplatePage/head.jsp 파일을 https://<server-name>:<port number>/crx/de/index.jsp#/apps/fd/af/components/page2/afStaticTemplatePage/head.jsp에 복사하십시오.

    note
    NOTE
    • 정적 템플릿을 사용하는 경우 다음 위치에 head.jsp를 오버레이합니다.
      /libs/fd/af/components/page2/afStaticTemplatePage/head.jsp
    • 편집 가능한 템플릿을 사용하는 경우 다음 위치에 aftemplatedpage.jsp를 오버레이합니다.
      /libs/fd/af/components/page2/aftemplatedpage/aftemplatedpage.jsp
  3. 요청 특성에 대해 paramMap을(를) 설정합니다. 예를 들어 apps 폴더의 .jsp 파일에 다음 코드를 포함합니다.

    code language-javascript
    <%Map paraMap = new HashMap();
     paraMap.put("<request_attribute>",request.getParameter("<request_attribute>"));
     request.setAttribute("paramMap",paraMap);
    

    예를 들어 아래 코드를 사용하여 데이터 소스에서 petId 값을 검색합니다.

    code language-javascript
    <%Map paraMap = new HashMap();
    paraMap.put("petId",request.getParameter("petId"));
    request.setAttribute("paramMap",paraMap);%>
    

따라서 Read 서비스는 요청에 지정된 속성 이름을 기반으로 데이터 소스에서 세부 정보를 검색합니다.

예를 들어, 요청에 특성을 petid=100(으)로 지정하면 데이터 소스에서 해당 특성 값과 연결된 속성을 검색합니다.

연결 추가 add-associations

연결은 일반적으로 데이터 소스의 데이터 모델 개체 간에 작성되며, 이러한 연결은 해당 개체를 양식 데이터 모델(FDM)로 가져올 때 유지됩니다. 연결은 두 데이터 모델 개체 간의 관계를 정의하며 일대일 또는 일대다​일 수 있습니다.

하나의 레코드가 여러 레코드와 관련된 경우 일대다 연결이 존재합니다. 예를 들어 한 사원은 사원 레코드와 관련된 여러 종속 항목을 가질 수 있습니다. 이 관계를 일대다 연결이라고 하며 연결된 데이터 모델 개체를 연결하는 줄에 1:n이(가) 표시됩니다. 일대일 연결은 관계가 일치하는 레코드를 하나만 반환하는 경우에 존재합니다. 예를 들어, 연결이 주어진 직원 ID에 대해 고유한 직원 이름을 반환하는 경우 일대일 연결입니다.

데이터 소스의 연결된 데이터 모델 개체를 양식 데이터 모델(FDM)에 추가하면 해당 연결이 유지되며 화살표 선으로 연결된 것으로 표시됩니다. 단일 양식 데이터 모델(FDM) 내에서 서로 다른 데이터 소스 간에 데이터 모델 객체 간의 연관을 추가할 수도 있으므로 서로 다른 백엔드 시스템에서 생성되는 관련 데이터를 결합할 수 있습니다.

NOTE
JDBC(Java Database Connectivity) 데이터 소스의 사전 정의된 연결은 FDM(양식 데이터 모델)에 유지되지 않습니다. 이러한 관계는 자동으로 전달되지 않기 때문입니다. 수동으로 만들어야 합니다.

연결을 추가하려면:

  1. 데이터 모델 개체 상단의 확인란을 선택하여 선택한 다음 연결 추가​를 선택합니다. 연결 추가 대화 상자가 열립니다.

    연결 추가

    note
    NOTE
    OData(Open Data Protocol) 서비스 메타데이터 문서에는 데이터 모델 개체 및 서비스 외에도 두 데이터 모델 개체 간의 연결을 정의하는 탐색 속성이 포함되어 있습니다. FDM(양식 데이터 모델)에서 연결을 추가할 때 이러한 탐색 속성을 사용할 수 있습니다. 자세한 내용은 OData 서비스의 탐색 속성 사용을 참조하십시오.

    연결 추가 대화 상자가 열립니다.

    add-association-2

    연결 추가 대화 상자

  2. 연결 추가 창에서 다음을 수행합니다.

    • 연결의 제목을 지정합니다.
    • 연결 유형(일대다 또는 일대다)을 선택하십시오.
    • 연결할 데이터 모델 개체를 선택합니다.
    • 선택한 모델 개체에서 데이터를 읽을 읽기 서비스를 선택합니다. 서비스 읽기 인수가 나타납니다. 인수를 편집하여 필요한 경우 변경하고, 연결할 데이터 모델 개체의 속성에 바인딩합니다.

    다음 예제에서 Dependents 데이터 모델 개체의 읽기 서비스에 대한 기본 인수는 dependentid입니다.

    add-association-example

    종속 항목 읽기 서비스의 기본 인수가 종속 항목입니다.

    그러나 인수는 연결된 데이터 모델 개체 간에 공유되는 공통 속성이어야 합니다. 이 예제에서는 Employeeid입니다. 따라서 연결은 일치하는 키를 사용하므로 Employeeid 인수는 Employee 데이터 모델 개체의 id 속성에 바인딩되어야 합니다. 이 바인딩을 사용하면 시스템에서 종속 데이터 모델 개체에서 연결된 종속 세부 정보를 가져올 수 있습니다.

    add-association-example-2

    인수 및 바인딩이 업데이트되었습니다.

    완료​를 선택하여 인수를 저장합니다.

  3. 완료​를 선택하여 연결을 저장한 다음 저장​을 선택하여 양식 데이터 모델(FDM)을 저장합니다.

  4. 필요에 따라 단계를 반복하여 추가 연관을 생성합니다.

NOTE
추가된 연결은 지정된 제목과 연결된 데이터 모델 개체를 연결하는 선이 있는 데이터 모델 개체 상자에 나타납니다.
연결 확인란을 선택하고 연결 편집​을 선택하여 연결을 편집할 수 있습니다.

추가된 연결

속성 편집 properties

속성을 편집하면 데이터 모델 개체, 속성 및 서비스가 양식 데이터 모델(FDM) 내에서 작동하는 방식을 구성할 수 있습니다. 속성 편집 창을 통해 FDM이 데이터를 읽고 쓰고 반환하는 방법을 결정하는 서비스, 데이터 유형, 키 및 인수를 정의합니다.

속성을 편집하려면:

  1. 양식 데이터 모델(FDM)​에서 데이터 모델 개체, 속성 또는 서비스 옆에 있는 확인란을 선택합니다.

  2. 속성 편집​을 선택하십시오. 선택한 모델 개체, 속성 또는 서비스에 대한 속성 편집 창이 열립니다.

    • 데이터 모델 개체: 읽기 및 쓰기 서비스​를 지정하고 인수를 편집합니다. 이러한 서비스는 데이터를 개체에서 검색하고 개체의 기본 데이터 소스로 유지하는 방법을 결정합니다.

    • 속성: 속성에 대해 type, sub-type 및 format​을(를) 지정합니다. 선택한 속성을 각 레코드를 고유하게 식별하는 데이터 모델 개체에 대한 기본 키(으)로 지정할 수도 있습니다.

    • 서비스: 서비스의 입력 모델 개체, 출력 형식 및 인수를 지정합니다. 서비스 가져오기​의 경우 서비스가 여러 레코드를 올바르게 처리하는지 확인하여 배열을 반환하는지 여부를 나타낼 수 있습니다.

      edit-properties-service

    get 서비스의 속성 편집 대화 상자

  3. 완료​를 선택하여 속성 구성을 저장한 다음 저장​을 선택하여 양식 데이터 모델(FDM)​을 저장합니다. 이 마지막 저장은 모든 속성 변경 사항을 FDM에 커밋합니다.

계산된 속성 만들기 computed

계산된 속성​은(는) 규칙 또는 식에서 자동으로 값을 파생합니다. 규칙을 사용하여 계산된 속성의 값을 리터럴 문자열, 숫자, 수학 식의 결과 또는 FDM(양식 데이터 모델)​의 다른 속성 값으로 설정할 수 있습니다. 값이 수동으로 입력되지 않고 계산되기 때문에 계산된 속성은 데이터 입력 오류를 줄이고 기본 데이터가 변경될 때 종속 필드를 일관되게 유지합니다.

예: FullName 계산 속성 작성

예를 들어 기존 FirstName​과(와) LastName 속성을 연결한 결과로 값을 갖는 계산 속성 FullName​을(를) 만들 수 있습니다. 이렇게 하려면 다음 단계를 수행합니다.

  1. 데이터 형식이 문자열​인 FullName 이름의 새 속성을 만듭니다.

  2. 계산됨​을(를) 사용하도록 설정하고 완료​를 선택하여 속성을 만듭니다.

    계산됨

    FullName 계산 속성이 만들어졌습니다. 속성 옆에 아이콘이 표시되어 계산된 속성임을 나타냅니다.

    computed-prop

  3. FullName 속성을 선택한 다음 규칙 편집​을 선택하십시오. 규칙 편집기 창이 열립니다.

  4. 규칙 편집기 창에서 만들기​를 선택합니다. 값 설정 규칙 창이 열립니다.

    옵션 선택 드롭다운에서 수학 식​을 선택합니다. 사용 가능한 다른 옵션은 양식 데이터 모델 개체 및 문자열​입니다.

  5. 수식에서 첫 번째 개체로 FirstName​을(를) 선택하고 두 번째 개체로 LastName​을(를) 선택합니다. plus​을(를) 연산자로 선택합니다.

    완료​를 선택한 다음 닫기​를 선택하여 규칙 편집기 창을 닫습니다. 완료된 규칙은 다음과 유사합니다.

    규칙

  6. 양식 데이터 모델(FDM)​에서 저장​을 선택합니다. 계산된 속성이 구성되었습니다. 이렇게 하면 FirstName 또는 LastName​이(가) 변경될 때마다 FullName 값이 자동으로 업데이트되므로 연결된 전체 이름이 항상 원본 필드와 동기화된 상태로 유지됩니다.

OData 서비스의 탐색 속성을 사용하여 작업 work-with-navigation-properties-of-odata-services

OData 서비스의 탐색 속성​은(는) 두 데이터 모델 개체 간의 연결을 정의하여 한 엔터티가 다른 엔터티와 연결되어 다른 엔터티로 이동할 수 있는 방식을 설정합니다. 이러한 속성은 엔터티 형식 또는 복합 형식​에 정의되어 있으며, 이를 통해 클라이언트를 한 레코드에서 관련 레코드로 이동할 수 있습니다. 예를 들어 샘플 TripPin OData 샘플 서비스의 메타데이터 파일에서 다음 추출에서 Person 엔터티에는 친구, BestFriend 및 Trip​의 세 가지 탐색 속성이 포함됩니다.

탐색 속성에 대한 자세한 내용은 OData 설명서를 참조하십시오.

<edmx:Edmx xmlns:edmx="https://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
<script/>
<edmx:DataServices>
<Schema xmlns="https://docs.oasis-open.org/odata/ns/edm" Namespace="Microsoft.OData.Service.Sample.TrippinInMemory.Models">
<EntityType Name="Person">
<Key>
<PropertyRef Name="UserName"/>
</Key>
<Property Name="UserName" Type="Edm.String" Nullable="false"/>
<Property Name="FirstName" Type="Edm.String" Nullable="false"/>
<Property Name="LastName" Type="Edm.String"/>
<Property Name="MiddleName" Type="Edm.String"/>
<Property Name="Gender" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.PersonGender" Nullable="false"/>
<Property Name="Age" Type="Edm.Int64"/>
<Property Name="Emails" Type="Collection(Edm.String)"/>
<Property Name="AddressInfo" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Location)"/>
<Property Name="HomeAddress" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.Location"/>
<Property Name="FavoriteFeature" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.Feature" Nullable="false"/>
<Property Name="Features" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Feature)" Nullable="false"/>
<NavigationProperty Name="Friends" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person)"/>
<NavigationProperty Name="BestFriend" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person"/>
<NavigationProperty Name="Trips" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip)"/>
</EntityType>

양식 데이터 모델에 탐색 속성을 표시하는 방법

FDM(양식 데이터 모델)​에서 OData 서비스를 구성하면 엔터티 컨테이너의 모든 탐색 속성을 FDM의 단일 서비스를 통해 자동으로 사용할 수 있습니다. 이 통합은 FDM이 이러한 통합을 함께 표면화하므로 각 연관에 대해 별도의 서비스가 필요하지 않음을 의미합니다. 이 TripPin OData 서비스 예제에서는 FDM에서 GET LINK 서비스 하나를 사용하여 Person 엔터티 컨테이너의 세 가지 탐색 속성을 모두 읽을 수 있습니다.

다음은 TripPin OData 서비스의 Person 엔터티에서 세 개의 탐색 속성(Friends, BestFriend 및 Trip)에 대한 결합된 서비스인 FDM의 GET LINK of Person /People 서비스를 강조 표시합니다.

nav-prop-service

링크 가져오기 서비스 구성

GET LINK 서비스를 FDM의 서비스 탭에 추가하면 해당 속성을 편집하여 서비스에 사용할 출력 모델 개체와 탐색 속성을 선택할 수 있습니다. 예를 들어 다음 GET LINK of Person /People 서비스는 Trip​을(를) 출력 모델 개체로 사용하고 Trip​을(를) 탐색 속성으로 사용합니다.

edit-prop-nav-prop

NOTE
NavigationPropertyName 인수의 기본값 필드에서 사용할 수 있는 값은 반환 배열의 상태에 따라 다릅니다. 토글 단추. 이 옵션을 활성화하면 필드에 Collection 형식의 탐색 속성이 표시됩니다.

이 예제에서는 배열을 반환할지 여부​에 따라 Person​을(를) 출력 모델 개체로 선택하고 탐색 속성 인수를 Friends 또는 BestFriend(으)로 설정할 수도 있습니다. 이 활성화되거나 비활성화됩니다.

edit-prop-nav-prop2

연결에서 탐색 속성 사용

마찬가지로 FDM에서 연결을 추가할 때 GET LINK 서비스를 선택하고 해당 탐색 속성을 구성할 수 있습니다. 그러나 탐색 속성은 필드에 대한 바인딩​이 리터럴(으)로 설정된 경우에만 선택할 수 있습니다. 이러한 요구 사항으로 인해 해당 바인딩이 올바르게 구성될 때까지 탐색 속성 옵션을 선택할 수 없습니다.

add-association-nav-prop

샘플 데이터 생성 및 편집 sample

양식 데이터 모델(FDM) 편집기​은 계산된 속성​을 포함하여 양식 데이터 모델의 모든 데이터 모델 개체 속성에 대해 샘플 데이터​를 생성합니다. 이 샘플 데이터는 각 속성에 대해 구성된 데이터 형식​을(를) 준수하는 임의 값 집합으로 구성되어 있어 실시간 데이터 소스 연결이 필요 없이 실제 테스트 값을 제공합니다.

샘플 데이터 기본 정보

샘플 데이터는 양식 데이터 모델을 프로덕션 데이터에 바인딩하기 전에 작동 방식을 미리 보고 확인할 수 있도록 해주는 준비된 테스트 입력 역할을 합니다. 생성된 각 값은 속성에 구성된 데이터 유형을 준수하므로 샘플 세트는 실제 레코드의 예상 구조 및 형식을 반영하므로 개발 초기에 바인딩, 계산된 논리 및 양식 동작을 확인하는 데 도움이 됩니다.

생성된 값을 편집하고 변경 사항을 저장할 수도 있습니다. 샘플 데이터를 다시 생성하더라도 저장된 데이터는 유지되므로 수동으로 조정된 테스트 사례는 재생성 시에도 유지됩니다. 이를 통해 새로운 무작위 값이 생성될 때마다 편집이 손실되는 대신 안정적이고 재사용 가능한 테스트 시나리오를 구축하는 것이 실용적입니다.

샘플 데이터 생성 및 편집 단계

  1. 양식 데이터 모델(FDM)​을 열고 샘플 데이터 편집​을 선택합니다. FDM 편집기는 샘플 데이터 편집 창에서 샘플 데이터를 생성하여 표시합니다.

    샘플 데이터 생성

  2. 샘플 데이터 편집 창에서 필요에 따라 데이터를 편집하고 저장​을 선택합니다. 편집한 샘플 데이터는 저장되고 유지되며 샘플 데이터를 재생성한 후에도 사용할 수 있습니다.

데이터 모델 개체 및 서비스 테스트 test-data-model-objects-and-services

양식 데이터 모델(FDM)이 구성되면 FDM을 라이브 양식에 배포하기 전에 구성된 데이터 모델 개체 및 서비스를 테스트하여 예상대로 작동하는지 확인합니다. 배포 전 테스트에서는 각 개체 및 서비스가 올바른 데이터를 반환하는지 확인하므로 양식을 프로덕션에 넣을 때 런타임 오류 위험이 줄어듭니다.

데이터 모델 개체 및 서비스를 테스트하려면 다음을 수행합니다.

  1. 양식 데이터 모델(FDM)에서 데이터 모델 개체 또는 서비스를 선택한 다음 각각 테스트 모델 개체 또는 테스트 서비스​를 선택합니다.

    테스트 양식 데이터 모델 창이 열립니다.

    test-data-model

  2. 양식 데이터 모델 테스트 창의 입력 창에서 테스트할 데이터 모델 개체 또는 서비스를 선택하십시오. 이는 검증할 특정 객체 또는 서비스를 식별합니다.

  3. 테스트 코드에서 인수 값을 지정한 다음 테스트​를 선택합니다. 테스트가 성공하면 출력 창에 출력이 반환되어 선택한 개체 또는 서비스가 올바르게 구성되어 있고 데이터를 의도한 대로 검색하거나 처리할 수 있는지 확인합니다.

    테스트 결과

동일한 절차에 따라 FDM(양식 데이터 모델)에서 추가 데이터 모델 개체 및 서비스의 유효성을 검사하여 사용 전에 전체 모델이 안정적으로 수행되도록 할 수 있습니다.

입력 데이터의 자동 유효성 검사 automated-validation-of-input-data

양식 데이터 모델(FDM)​은 DermisBridge API​가 호출될 때마다 입력으로 받은 데이터의 유효성을 자동으로 검사하여 양식 데이터 모델에 정의된 유효성 검사 기준을 적용합니다. 이 유효성 검사는 API를 호출하는 데 사용된 쿼리 개체에 설정된 ValidationOptions 플래그로 제어됩니다. 기본적으로 ValidationOptions 플래그에 대해 설정된 값이 없으면 FDM은 입력 데이터에 대해 BASIC 유효성 검사를 수행합니다.

ValidationOptions 플래그 수준

ValidationOptions 플래그는 FDM이 입력을 검증하는 방법을 각각 정의하는 다음 세 가지 값 중 하나를 허용합니다.

  • 전체: FDM이 정의된 모든 제약 조건​에 대해 입력을 확인합니다. 데이터가 처리되기 전에 모든 데이터 유형 및 비즈니스 규칙 제한을 적용하려면 이 수준을 사용하십시오.
  • 꺼짐: FDM이 유효성 검사 안 함​을 수행합니다. 입력 데이터가 제약 조건 확인 없이 전달됩니다.
  • 기본: FDM은 required 및 nullable 제약 조건만 확인합니다. 이렇게 하면 필수 필드가 표시되고 전체 제한 세트를 평가하지 않고 null 처리 규칙이 적용됩니다.

ValidationOptions 플래그에 대해 설정된 값이 없으면 기본적으로 FDM은 BASIC 유효성 검사를 적용합니다.

유효성 검사 플래그 설정

다음 예제에서는 유효성 검사 플래그를 FULL(으)로 설정하여 모든 제약 조건에 대한 유효성 검사를 활성화합니다.

operationOptions.setValidationOptions(ValidationOptions.FULL);
NOTE
입력 데이터의 속성에 대해 제공한 값은 메타데이터 문서의 해당 속성에 대해 정의된 데이터 유형과 일치해야 합니다.
데이터 형식 검사는 유효성 검사 수준과 독립적으로 적용되므로, 입력한 값이 정의된 데이터 형식과 일치하지 않으면 DermisBridge API​이(가) ValidationOptions 플래그의 값에 관계없이 예외 을(를) 반환합니다. 로그 수준이 Debug(으)로 설정되면 API는 해당 오류를 error.log 파일에 기록합니다.

데이터 소스별 데이터 유형 제한

양식 데이터 모델(FDM)​이 정의된 데이터 형식 제약 조건 목록에 대해 입력 데이터의 유효성을 검사합니다. 이 제한 목록은 기본 데이터 원본​에 따라 다를 수 있으므로 유효성 검사 중에 적용되는 정확한 제한 사항은 양식 데이터 모델과 연결된 데이터 원본에 의해 결정됩니다.

다음 표에는 지원되는 각 데이터 소스의 입력 데이터에 적용되는 데이터 유형 제약 조건이 나열되어 있습니다.

제한
설명
입력 데이터 소스
required
true인 경우 매개 변수는 입력 데이터에 포함되어야 합니다.
Swagger, WSDL 및 데이터베이스
null 허용
true인 경우 입력 데이터에서 매개 변수의 값을 Null로 설정할 수 있습니다.
WSDL, Odata 및 데이터베이스
최대
숫자 값의 상한을 지정합니다. 상한으로 지정된 최대값도 입력 데이터의 매개 변수에 할당할 수 있습니다.
Swagger 및 WSDL
최소
숫자 값의 하한을 지정합니다. 하한으로 지정된 최소값도 입력 데이터의 매개 변수에 할당할 수 있습니다.
Swagger 및 WSDL
exclusiveMaximum
숫자 값의 상한을 지정합니다. 상한으로 지정된 최대값은 입력 데이터의 매개 변수에 할당할 수 없습니다.
Swagger 및 WSDL
exclusiveMinimum
숫자 값의 하한을 지정합니다. 하한으로 지정된 최소값은 입력 데이터의 매개 변수에 할당할 수 없습니다.
Swagger 및 WSDL
minLength
문자열에 포함된 문자 수의 하한을 지정합니다. 하한으로 지정된 최소값도 입력 데이터의 매개 변수에 할당할 수 있습니다.
Swagger 및 WSDL
maxLength
문자열에 포함된 문자 수의 상한을 지정합니다. 상한으로 지정된 최대값도 입력 데이터의 매개 변수에 할당할 수 있습니다.
Swagger, WSDL, Odata 및 데이터베이스
패턴
고정된 문자 시퀀스를 지정합니다. 문자가 지정된 패턴을 따르는 경우에만 입력 문자열의 유효성을 검사합니다.
Swagger
최소 항목
배열의 최소 항목 수를 지정합니다. 하한으로 지정된 최소값도 입력 데이터의 매개 변수에 할당할 수 있습니다.
Swagger 및 WSDL
최대 항목 수
배열의 최대 항목 수를 지정합니다. 상한으로 지정된 최대값도 입력 데이터의 매개 변수에 할당할 수 있습니다.
Swagger 및 WSDL
고유 항목
true인 경우 배열의 모든 요소는 입력 데이터에서 고유해야 합니다.
Swagger
enum(문자열)
입력 데이터의 매개 변수 값을 고정된 문자열 값 집합으로 제한합니다. 하나 이상의 요소가 있는 배열이어야 합니다. 여기서 각 요소는 고유합니다.
Swagger, WSDL 및 Odata
enum(숫자)
입력 데이터의 매개 변수 값을 고정된 숫자 값 집합으로 제한합니다. 하나 이상의 요소가 있는 배열이어야 합니다. 여기서 각 요소는 고유합니다.
WSDL

Swagger 제약 조건을 사용한 입력 데이터 유효성 검사

입력 데이터는 주문 ID​가 있고 해당 값이 1-10 범위 내에 있는 경우에만 유효성 검사를 통과합니다. 이 예제에서는 Swagger(OpenAPI) 파일에 정의된 maximum, minimum 및 required 제약 조건에 대해 입력 데이터의 유효성을 검사합니다. 이 세 가지 제한 유형은 다음과 같이 허용되는 입력을 제어합니다.

  • 필수 — 매개 변수를 제공해야 합니다. 누락된 orderId은(는) 유효성 검사에 실패합니다.
  • minimum — 값은 1​보다 작아야 합니다.
  • maximum — 값은 10​을(를) 초과할 수 없습니다.

제약 조건은 API 정의에서 직접 선언되므로 작업이 실행되기 전에 스키마 수준에서 유효성 검사가 자동으로 시행됩니다. 이렇게 하면 형식이 올바른 요청만 기본 서비스에 도달할 수 있습니다.

   parameters: [
   {
   name: "orderId",
   in: "path",
   description: "ID of pet that must be fetched",
   required: true,
   type: "integer",
   maximum: 10,
   minimum: 1,
   format: "int64"
   }
   ]

유효성 검사 실패 동작 및 오류 로깅

입력 데이터가 이러한 기준을 충족하지 않으면 시스템에서 유효성 검사 예외를 throw합니다. 이 오류로 인해 로그 수준이 Debug(으)로 설정되면 error.log 파일에 오류가 기록됩니다. 이 로깅 동작은 로그 항목이 실패한 매개 변수, 위반한 제약 조건 및 잘못된 값을 식별하므로 개발자가 위반된 제약 조건을 정확하게 진단하는 데 도움이 됩니다.

예를 들어 16​의 orderId을(를) 제출하면 선언된 최대값 10​을(를) 초과하여 다음 로그 항목이 생성됩니다.

21.01.2019 17:26:37.411 *ERROR* com.adobe.aem.dermis.core.validation.JsonSchemaValidator {"errorCode":"AEM-FDM-001-044","errorMessage":"Input validations failed during operation execution.","violations":{"/orderId":["numeric instance is greater than the required maximum (maximum: 10, found: 16)"]}}

오류 항목은 오류 코드 AEM-FDM-001-044, 메시지 "Input validations failed during operation execution.", /orderId 필드, 필요한 최대 10 및 찾은 값(16)을 정확히 가리키는 violations 블록을 캡처합니다. 이러한 구조화된 세부 사항을 통해 범위를 벗어나는 입력을 손쉽게 식별하고 수정할 수 있습니다.

다음 단계 next-steps

이제 적응형 Forms 워크플로우에서 사용할 준비가 된 작업 양식 데이터 모델(FDM)​이(가) 있습니다. 양식 데이터 모델은 양식에 의해 캡처되고 연결된 데이터 소스와 교환되는 데이터의 구조 및 관계를 나타내므로 적응형 Forms이 직접 바인딩할 수 있는 재사용 가능한 통합 스키마를 제공합니다. 이 모델은 기본 데이터 서비스를 하나의 일관된 레이어로 추상화하기 때문에 각 새 양식에 대해 통합 논리를 다시 작성하지 않고도 양식을 해당 소스에서 읽고 쓸 수 있습니다.

이제 모델을 적절히 배치하면 양식 작성 작업에 적용할 수 있습니다. 일반적인 다음 단계는 다음과 같습니다.

  • 양식 필드를 모델에 바인딩​하여 적응형 양식 구성 요소가 FDM에 정의된 데이터 속성에 직접 매핑되도록 함으로써 일관된 데이터 캡처 및 제출을 보장합니다.
  • 모델을 통해 검색한 기존 데이터로 양식 미리 채우기: 수동 데이터 입력을 줄여 사용자 환경을 개선합니다.
  • 양식 제출을 구성​하여 캡처된 데이터를 모델을 통해 연결된 데이터 소스에 다시 작성하여 레코드를 동기화합니다.
  • 여러 양식에서 모델을 재사용​하여 일관성을 유지하고 중복되는 구성 작업을 줄입니다.

워크플로우에서 단일 양식 데이터 모델을 재사용하면 모델 업데이트가 이 모델에 종속된 모든 양식으로 전파되므로 일관성이 향상되고 지속적인 유지 관리가 줄어듭니다. 적응형 Forms에서 모델을 적용하는 방법에 대한 자세한 지침은 FDM(양식 데이터 모델) 사용을 참조하십시오.

recommendation-more-help
experience-manager-cloud-service-help-main-toc