RESTful 웹서비스 생성

Modules, Templates 및 Handlers 페이지를 사용하여 RESTful 웹 서비스를 생성합니다.

RESTful 웹 서비스를 만들려면 다음을 수행해야 합니다.

  • 자원 모듈 정의

  • 리소스 템플리트 정의

  • GET, PUT, POST 또는 DELETE와 같은 하나 이상의 리소스 처리기를 정의합니다. 선택적으로 리소스 처리기에 전달해야 하는 파라미터를 정의합니다.

다음 절에서는 리소스 모듈, 리소스 템플리트 및 리소스 처리기를 만드는 방법에 대한 정보를 제공합니다.

참조:

리소스 모듈 관리

[모듈] 페이지에서 리소스 모듈을 정의, 편집 및 삭제할 수 있습니다.

[모듈] 페이지로 이동하려면 [REST 개요] 페이지에서 [객체]의 모듈을 누르거나 머리글의 메뉴에서 모듈을 선택합니다.

카드 보기에서 기본적으로 표시되는 모듈 속성은 다음 그림에 나와 있습니다.

모듈 상태는 게시 또는 게시 취소할 수 있습니다. 상태가 게시되지 않은 경우 아이콘이 빨간색으로 표시됩니다.

카드 보기에서 모듈 이름을 눌러 해당 모듈에 대한 템플리트 페이지로 이동합니다. 컨텍스트 메뉴를 통해 Templates 페이지로 이동할 수도 있습니다.

컨텍스트 메뉴에서 사용할 수 있는 작업은 다음과 같습니다.

리소스 모듈 생성

이 절에서는 리소스 모듈을 만드는 방법에 대해 설명합니다.

  1. [모듈] 페이지에서 모듈 생성을 누릅니다.
  2. 다음 필드를 입력합니다. 별표(*)가 있는 항목은 필수입니다.

    Module Definition 탭

    • 모듈 이름: 모듈의 이름을 입력합니다. 이 필드는 대소문자를 구분합니다.

    • 기본 경로: RESTful 서비스에 액세스하기 위한 URI의 기준을 입력합니다. 예를 들어, hr/는 hr/로 시작하는 모든 URI가 이 리소스 모듈에서 서비스됨을 의미합니다. 기본 경로를 입력할 때 미리보기 URL의 변경 사항에 유의하십시오.

    • 게시됨: RESTful 서비스를 사용할 수 있도록 하려면 사용으로 설정합니다.

    • 페이지 매김 크기: 데이터베이스 질의를 기반으로 각 페이지에서 반환할 결과 수를 입력하거나 선택합니다. 기본값은 25입니다.

    • 권한에 의해 보호됨: 드롭다운 목록에서 모듈을 보호할 권한을 선택합니다.
    • 설명: 설명 설명을 입력합니다.

    • 생성 후 모듈로 이동: 모듈을 생성한 후 [템플리트] 페이지로 이동하려면 이 옵션을 선택합니다.

    원본 허용 탭

    • 리소스 템플리트에 액세스할 수 있는 원점을 입력합니다. 추가(+)를 눌러 각 원본을 추가합니다. 예:

      http://example1.org

      https://*.example2.com

    코드 표시: [모듈 생성] 슬라이더와 동일한 PL/SQL 코드를 보려면 이 옵션을 선택합니다. 워크시트에서 이 PL/SQL 코드를 복사 및 실행하여 [모듈 생성] 슬라이더에서 생성을 누를 때 발생하는 것과 동일한 작업을 수행할 수 있습니다.

  3. 생성을 누릅니다.

    새 모듈이 Modules 페이지에 표시됩니다. 찾을 수 없는 경우 Search 필드를 사용하여 모듈을 찾습니다.

리소스 모듈 임포트

이 절에서는 리소스 모듈을 임포트하는 방법에 대해 설명합니다.

주:

OpenAPI 버전 2.0 또는 3.0 문서는 JSON 형식으로만 임포트할 수 있습니다.
  1. 모듈 페이지의 오른쪽 상단에 있는 모듈 임포트를 누릅니다.
  2. 가져올 JSON 파일을 찾아 선택합니다. 열기를 누릅니다.

    임포트 모듈 슬라이더가 기본 경로미리보기 URL 필드가 미리 채워진 상태로 표시됩니다. 필요에 따라 기본 경로를 편집합니다. 기본 경로 필드를 편집하면 슬라이더에 표시되는 JSON 형식의 기본 경로도 업데이트됩니다.

  3. 임포트를 누릅니다.

    모듈을 가져오면 권한 구성이 만들어지고 모듈을 보호하도록 설정됩니다. 기본 경로를 사용하여 기본 경로 문자열 끝에 "_priv"를 추가하고 기본 경로의 모든 슬래시 "/"를 밑줄 "_"로 대체하여 권한 이름이 생성됩니다.

  4. 모듈을 편집할 준비가 되었습니다.

    모듈을 임포트한 후 템플리트와 처리기가 생성되지만 모듈은 게시되지 않습니다. 각 처리기에 대해 SQL 및 PL/SQL 블록을 제공하고 테스트 또는 운용 준비가 되면 모듈을 게시해야 합니다.

리소스 모듈 편집

이 섹션에서는 리소스 모듈 편집 방법을 설명합니다.

  1. [모듈] 페이지에서 특정 모듈에 대해 컨텍스트 메뉴를 표시합니다.을 누르고 편집을 선택합니다.
  2. 필수 필드를 편집하고 저장을 누릅니다. 필드에 대한 설명은 리소스 모듈 생성을 참조하십시오.

리소스 모듈 삭제

이 절에서는 리소스 모듈을 삭제하는 방법을 설명합니다.

  1. [모듈] 페이지에서 특정 모듈에 대해 컨텍스트 메뉴에서을 누르고 삭제를 선택합니다.

    확인하라는 프롬프트가 나타납니다.

  2. 삭제하려면 확인을 누릅니다.

리소스 모듈 게시/게시 취소

이 절에서는 리소스 모듈을 사용 가능하도록 설정하는 방법에 대해 설명합니다.

  1. [모듈] 페이지의 특정 모듈에 대해 컨텍스트 메뉴에서을 누른 다음 게시 또는 게시 취소를 선택합니다.

    확인 프롬프트가 표시됩니다.

  2. 확인을 누릅니다.

리소스 모듈 내보내기

리소스 모듈 또는 RESTful 서비스의 API 또는 Open API(Swagger) JSON 코드에 대한 PL/SQL 소스 코드를 익스포트할 수 있습니다. 모듈에 템플리트, 처리기, 파라미터, 롤 등이 있는 경우 이러한 객체도 표시되고 엑스포트됩니다.

  1. [모듈] 페이지에서 특정 모듈에 대해 컨텍스트 메뉴에서을 누르고 모듈 익스포트를 선택합니다.
  2. PL/SQL을 선택하여 API에 대한 PL/SQL 소스를 복사하거나 익스포트합니다. 모듈에 대한 Open API(Swagger) JSON 코드를 복사하거나 익스포트하려면 OpenAPI를 선택합니다.

    주:

    Open API를 사용하여 익스포트된 모듈은 항상 게시되지 않은 상태로 임포트됩니다.
  3. 클립보드로 복사를 눌러 코드를 복사하거나 다운로드를 눌러 로컬 컴퓨터로 다운로드합니다.

OpenAPI 뷰에서 모듈 보기

이 섹션에서는 Open API 뷰에서 모듈을 여는 방법에 대해 설명합니다.

Open API 뷰 옵션은 게시되었으며 보호되지 않는 모듈에 사용할 수 있습니다.
  1. [모듈] 페이지에서 특정 모듈에 대해 컨텍스트 메뉴에서을 누르고 OpenAPI 뷰를 선택합니다.
  2. 이 모듈은 Swagger UI 구현으로 표시됩니다.
    처리기를 보고 실행하고, 처리기에 파라미터를 전달하고, 응답을 복사하거나 다운로드할 수 있습니다.

    Swagger UI 구현에 대한 자세한 내용은 공식 Swagger UI 웹 사이트를 참조하십시오.

리소스 템플리트 관리

Templates 페이지에서 모듈에 대한 리소스 템플리트를 정의, 편집 및 삭제할 수 있습니다.

이 페이지로 이동하려면 [모듈] 페이지에서 모듈에 대해 컨텍스트 메뉴에서을 누르고 템플리트를 선택하거나 카드 보기에서 모듈 이름을 누릅니다.

페이지 상단에서 모듈 카드는 편집, 삭제, 게시 및 익스포트와 같은 컨텍스트 메뉴 옵션과 함께 사용할 수 있습니다.

카드 보기에서 기본적으로 표시되는 템플리트 속성은 다음 그림에 나와 있습니다.

카드 뷰에서 템플리트 이름을 눌러 처리기 페이지로 이동합니다. 컨텍스트 메뉴를 통해 Handlers 페이지로 이동할 수도 있습니다.

컨텍스트 메뉴에서 사용할 수 있는 작업은 다음과 같습니다.

리소스 템플리트 생성

이 절에서는 리소스 템플리트를 만드는 방법에 대해 설명합니다.

  1. 모듈의 [템플리트] 페이지에서 템플리트 생성을 누릅니다.
  2. 다음 필드를 입력합니다. 별표(*)가 있는 필드는 필수임을 나타냅니다.
    • URI 템플리트: 리소스 템플리트에 대한 URI 패턴을 입력합니다.

      예를 들어, /objects/:object/:id? 패턴은 /objects/emp/101(ID가 101인 emp 리소스의 항목에 대한 요청과 일치)와 일치하고 /objects/emp/(:id 매개변수가 선택 사항임을 나타내는 ? 수정자로 주석 처리되기 때문에 emp 리소스에 대한 요청과 일치)도 일치합니다.

      URI 템플리트를 입력하면 미리보기 URL이 변경됩니다.

    • 우선 순위: 리소스 템플리트 평가 방법에 대한 우선 순위를 입력하거나 선택합니다(1은 낮은 우선 순위이고 9는 높은 우선 순위).

    • HTTP 엔티티 태그 유형: 리소스 템플리트에서 사용할 엔티티 태그의 유형을 선택합니다. 엔티티 태그는 리소스에 대한 버전 식별자 역할을 하는 HTTP 헤더입니다.

      다음과 같은 옵션이 있습니다.

      • 보안 HASH(기본값): 반환된 리소스 표현의 콘텐츠는 보안 다이제스트 함수를 사용하여 해시되어 지정된 리소스 버전에 대해 고유한 지문을 제공합니다.

      • 질의: 리소스 버전을 고유하게 식별하는 질의를 수동으로 정의합니다. 수동으로 정의된 질의는 전체 리소스 표현을 해싱하는 것보다 엔티티 태그를 더 효율적으로 생성할 수 있습니다.

      • 없음: 엔티티 태그를 생성하지 않습니다.

    • 설명: 설명이 있는 경우 설명을 입력합니다.

    • 생성 후 처리기로 이동: 템플리트가 생성된 후 처리기 페이지로 이동하려면 이 옵션을 선택합니다.

    코드 표시: [템플리트 생성] 슬라이더와 동일한 PL/SQL 코드를 보려면 이 옵션을 선택합니다. 워크시트에서 이 PL/SQL 코드를 복사 및 실행하여 [템플리트 생성] 슬라이더에서 생성을 누를 때 발생하는 것과 동일한 작업을 수행할 수 있습니다.

  3. 생성을 누릅니다.

    모듈의 새 템플리트가 Templates 페이지에 추가됩니다.

    "생성 후 처리기로 이동"이 선택된 경우 페이지 상단의 이동 경로에서 모듈 이름을 사용하여 모듈에 대한 템플리트 목록을 볼 수 있습니다.

리소스 템플리트 편집

이 섹션에서는 리소스 템플리트 편집 방법을 설명합니다.

  1. 템플리트 페이지의 특정 템플리트에 대해 컨텍스트 메뉴에서을 누른 다음 편집을 선택합니다.
  2. 필수 필드를 편집하고 저장을 누릅니다.

    필드에 대한 설명은 리소스 템플리트 생성을 참조하십시오.

리소스 템플리트 삭제

이 절에서는 리소스 템플리트를 삭제하는 방법을 설명합니다.

  1. 템플리트 페이지의 특정 템플리트에 대해 컨텍스트 메뉴에서을 누른 다음 삭제를 선택합니다.

    확인하라는 메시지가 표시됩니다.

  2. 삭제하려면 확인을 누릅니다.

리소스 처리기 관리

[처리기] 페이지에서 템플리트에 대한 리소스 처리기를 생성, 편집 및 삭제할 수 있습니다.

이 페이지로 이동하려면 [템플리트] 페이지에서 템플리트에 대해 컨텍스트 메뉴에서을 누르고 처리기를 선택하거나 카드 보기에서 템플리트 이름을 누릅니다.

페이지 상단에서 템플리트 카드는 편집 및 삭제와 같은 컨텍스트 메뉴 옵션과 함께 사용할 수 있습니다.

카드 보기에 기본적으로 표시되는 처리기 속성은 다음 그림에 나와 있습니다.

HTTP 메소드는 GET, PUT, POST 및 DELETE 중 하나일 수 있습니다.

컨텍스트 메뉴를 사용하여 HTTP 메소드 페이지로 이동할 수 있습니다. HTTP 메소드 페이지에는 Source, Parameters 및 Pre-Authenticated Requests라는 세 개의 탭이 표시됩니다.

리소스 처리기를 만들려면 Creating a Resource Handler를 참조하십시오.

주:

템플리트에 네 개의 처리기(GET, POST, PUT, DELETE)가 모두 생성된 경우에는 이 옵션을 사용할 수 없습니다.

컨텍스트 메뉴에서 사용할 수 있는 작업은 다음과 같습니다.

리소스 처리기 생성

이 절에서는 리소스 핸들러를 만드는 방법에 대해 설명합니다.

  1. [처리기] 페이지에서 처리기 생성을 누릅니다.
  2. 리소스 처리기의 속성을 지정합니다. 특정 옵션은 메소드 유형에 따라 다릅니다.

    처리기 정의 탭

    • 메소드: 이 처리기에 대한 HTTP 요청 메소드를 입력합니다. GET(리소스 표현 검색), POST(새 리소스를 생성하거나 모음에 리소스를 추가), PUT(기존 리소스를 업데이트함) 또는 DELETE(기존 리소스를 삭제함)입니다. 각 HTTP 메소드에 대해 하나의 처리기만 허용됩니다.

    • 페이지당 항목: 기본 페이지 매김 크기 또는 데이터베이스 질의에 대해 반환할 행 수를 입력하거나 선택합니다. 이 옵션은 GET 처리기에 대해서만 사용할 수 있습니다. 이 값이 정의되지 않은 경우 페이지당 항목 수는 모듈에 정의된 항목 수입니다.

    • 소스 유형: 선택한 HTTP 메소드에 대한 소스 구현을 선택합니다. 기본값은 컬렉션 query입니다.

      • 수집 질의: SQL 질의를 실행하고 결과 집합을 JSON 표현으로 변환합니다. HTTP 메소드가 GET인 경우 사용할 수 있습니다.

      • 수집 항목: 하나의 데이터 행을 JSON 표현으로 반환하는 SQL 질의를 실행합니다. HTTP 메소드가 GET인 경우 사용할 수 있습니다.

      • 매체: 특정 형식을 준수하는 SQL 질의를 실행하고 결과 집합을 이진 표현으로 바꿉니다. 이 표현의 인터넷 매체 유형을 식별하는 HTTP Content-Type 헤더가 함께 표시됩니다.

      • PL/SQL: 익명 PL/SQL 블록을 실행하고 모든 OUT 또는 IN/OUT 매개변수를 JSON 표현으로 변환합니다.

    • 소스: HTTP 메소드에 대한 SQL 질의 또는 PL/SQL 블록을 입력합니다. 처리기 세부 정보 페이지에서 처리기 편집기에서 SQL 또는 PL/SQL 처리기 코드를 테스트할 수 있습니다.

    • 생성 후 처리기로 이동: 처리기가 생성된 후 세부정보 페이지로 이동하려면 이 옵션을 선택합니다.

    MIME 허용 탭

    HTTP 요청 본문에 포함된 정보의 유형을 식별합니다. 예를 들어, POST 처리기가 요청에 JSON이 필요한 경우 "Application/JSON"을 MIME 유형으로 추가합니다.

    코드 표시: [생성 처리기] 슬라이더와 동일한 PL/SQL 코드를 보려면 이 옵션을 선택합니다. 워크시트에서 이 PL/SQL 코드를 복사 및 실행하여 [처리기 생성] 슬라이더에서 생성을 누를 때 발생하는 것과 동일한 작업을 수행할 수 있습니다.

  3. 생성을 누릅니다.

    처리기는 특정 템플리트에 대한 Handlers 페이지에 표시됩니다.

    REST 클라이언트 또는 cURL과 같은 명령행 툴을 사용하여 REST 서비스 끝점을 테스트할 수 있습니다.

리소스 처리기 편집

이 섹션에서는 리소스 처리기를 편집하는 방법에 대해 설명합니다.

  1. 처리기 페이지의 특정 처리기에 대해 컨텍스트 메뉴에서을 누른 다음 세부정보를 누릅니다.
  2. 필수 필드를 편집하고 저장을 누릅니다.

    필드에 대한 설명은 리소스 처리기 생성을 참조하십시오.

리소스 처리기 삭제

이 절에서는 리소스 처리기를 삭제하는 방법을 설명합니다.

  1. [처리기] 페이지에서 특정 처리기에 대해 컨텍스트 메뉴에서을 누른 다음 삭제를 누릅니다.

    확인하라는 메시지가 표시됩니다.

  2. 삭제하려면 확인을 누릅니다.

리소스 처리기 세부 정보 보기 및 파라미터 관리

HTTP 메소드 페이지에서 리소스 처리기 세부정보를 보고 매개변수를 관리할 수 있습니다.

이 페이지로 이동하려면 특정 처리기에 대해 컨텍스트 메뉴에서을 누른 다음 세부정보를 선택하거나 카드 보기에서 처리기 이름을 누릅니다.

페이지 상단에서 처리기 카드는 편집 및 삭제와 같은 컨텍스트 메뉴 옵션과 함께 사용할 수 있습니다.

[처리기 HTTP 메소드] 페이지에는 두 개의 주요 섹션이 있습니다.

  • 리소스 처리기에 정의된 SQL 또는 PL/SQL 소스 코드를 실행하기 위한 코드 편집기입니다. 코드를 실행하고, 저장하고, 실행 취소하고, 리두하고, 출력을 다운로드하고 지울 수 있습니다. 편집기에 대한 자세한 내용은 코드 편집기에서 SQL 문 실행을 참조하십시오.

    REST 서비스 처리기에 사용되는 암시적 매개변수가 편집기 오른쪽의 스크롤 목록에 표시됩니다. 암시적 매개변수를 참조하십시오.

  • HTTP 메소드 실행에 필요한 매개변수 관리 섹션입니다.

기본적으로 매개변수는 그리드 뷰에 표시됩니다. 카드 보기의 매개변수에 표시되는 속성은 다음 그림에 나와 있습니다.

컨텍스트 메뉴에서 사용할 수 있는 작업은 다음과 같습니다.

매개변수 생성 중

이 절에서는 리소스 처리기에 대한 매개변수를 생성하는 방법에 대해 설명합니다.

  1. 처리기 HTTP 메소드 페이지에서 매개변수 생성을 누릅니다.
  2. 다음 필드를 입력합니다. 별표(*)가 있는 항목은 필수입니다.
    • 매개변수 이름: URI 템플리트 또는 HTTP 헤더에서 이름이 지정된 대로 매개변수의 이름을 입력합니다. 이름은 수신 요청에서 매개변수가 식별되는 방법 또는 응답에서 매개변수의 이름이 지정되는 방법을 정의합니다.

    • 바인드 변수 이름: SQL에서 참조될 매개변수의 이름을 입력합니다. NULL이 지정된 경우 매개변수가 바인드 해제됩니다.

    • 소스 유형: 매개변수가 URI 템플리트 또는 HTTP 헤더에서 시작되는 경우 식별되는 유형을 선택합니다.

    • 매개변수 유형: 매개변수의 고유 유형을 선택합니다.

    • 액세스 방법: 매개변수 액세스 방법을 선택합니다. 매개변수가 입력 값인지, 출력 값인지 또는 둘 다인지 나타냅니다.

    코드 표시: [매개변수 생성] 슬라이더와 동일한 PL/SQL 코드를 보려면 이 옵션을 선택합니다. 워크시트에서 이 PL/SQL 코드를 복사 및 실행하여 [매개변수 생성] 슬라이더에서 생성을 누를 때 발생하는 것과 동일한 작업을 수행할 수 있습니다.

  3. 생성을 누릅니다.

    Parameters 섹션에 매개변수가 추가됩니다.

매개변수 편집

이 섹션에서는 매개변수를 편집하는 방법에 대해 설명합니다.

  1. 매개변수 섹션에서 특정 매개변수에 대해 컨텍스트 메뉴에서을 누른 다음 편집을 선택합니다.
  2. 필수 필드를 편집하고 저장을 누릅니다.

    필드에 대한 설명은 매개변수 생성을 참조하십시오.

매개변수 삭제

이 절에서는 매개변수를 삭제하는 방법을 설명합니다.

  1. 매개변수 섹션에서 특정 매개변수에 대해 컨텍스트 메뉴에서을 누른 다음 삭제를 선택합니다.

    확인하라는 메시지가 표시됩니다.

  2. 를 눌러 삭제합니다.
암시적 매개변수

이 섹션에서는 [리소스 처리기 세부 정보] 페이지의 암시적 매개변수에 대해 설명합니다. 이러한 매개변수는 리소스 처리기에 자동으로 추가됩니다.

표 4-1 암시적 매개변수

이름 유형 액세스 모드 HTTP 헤더 설명

:body

BLOB

IN

N/A

요청 본문을 임시 BLOB으로 지정합니다.

:body_text

CLOB

IN

N/A

요청 본문을 임시 CLOB로 지정합니다.

:content_type

VARCHAR

IN

Content-Type

Content-Type 요청 헤더에 표시된 대로 요청 본문의 MIME 유형을 지정합니다.

:current_user

VARCHAR

IN

N/A

요청에 대해 인증된 사용자를 지정합니다. 인증된 유저가 없으면 값은 null로 설정됩니다.

:forward_location

VARCHAR

OUT

X-ORDS-FORWARD-LOCATION

Oracle REST Data Services가 이 요청에 대한 응답을 생성하기 위해 GET 요청을 전달해야 하는 위치를 지정합니다.

:fetch_offset

NUMBER

IN

N/A

페이지에 표시할 첫 번째 행의 0 기반 오프셋을 지정합니다.

:fetch_size

NUMBER

IN

N/A

페이지에서 검색할 최대 행 수를 지정합니다.

:page_offset

NUMBER

IN

N/A

페이지 매김된 요청에서 0 기반 페이지 오프셋을 지정합니다.

주: The :page_offset 매개변수는 더 이상 사용되지 않습니다. 대신 :row_offset 매개변수를 사용하십시오.

:page_size

NUMBER

IN

N/A

페이지에서 검색할 최대 행 수를 지정합니다.

:page_size 매개변수는 더 이상 사용되지 않습니다. 대신 :fetch_size parameter 를 사용합니다.

:row_offset

NUMBER

IN

N/A

페이지 매김된 요청에 표시할 첫번째 행의 단일 기반 인덱스를 지정합니다.

:row_count

NUMBER

IN

N/A

페이지 매김된 요청에 표시할 마지막 행의 단일 기반 인덱스를 지정합니다.

:status_code

NUMBER

OUT

X-ORDS-STATUS-CODE

요청에 대한 HTTP 상태 코드를 지정합니다.

암시적 매개변수에 대한 자세한 내용은 Oracle REST Data Services Developer's Guide를 참조하십시오.

사전 인증된 요청을 사용하여 ORDS RESTful 서비스 액세스

보호된 RESTful 서비스에 액세스하기 위해 사전 인증된 요청을 생성하고 취소할 수 있습니다.

사전 인증된 요청을 통해 사용자 자격 증명 없이 보호된 ORDS RESTful 서비스에 액세스할 수 있습니다. 사전 인증된 요청을 생성하면 고유한 URL이 생성됩니다. 이 URL을 외부 사용자에게 제공하여 표준 HTTP 도구를 사용하여 특정 RESTful 엔티티와 상호 작용할 수 있습니다.

사전 인증된 요청에 대한 자세한 내용은 Oracle REST Data Services Developer's GuideOracle REST Data Services Pre-Authenticated Requests를 참조하십시오.

[사전 인증된 요청] 페이지로 이동하려면 다음 중 하나를 수행합니다.

  • 개요 페이지에서 사전 인증된 요청 타일을 누릅니다.

  • 메뉴 모음에서 보안을 확장하고 사전 인증된 요청을 선택합니다.

항목:

사전 인증된 요청 생성

기존 처리기에 대해 사전 인증된 요청을 생성하려면 다음과 같이 하십시오.

  1. 기존 처리기의 컨텍스트 메뉴에서 새 사전 인증된 요청 생성을 선택합니다.

    Create Pre-authenticated Request 패널이 나타납니다.

  2. 토큰 만료 필드에 토큰 만료 기간(초)을 입력합니다.

    사전 인증된 요청을 생성하기 위한 기본 소스 코드를 보려면 코드 표시를 선택합니다.

    생성을 누릅니다.

    리소스에 액세스하기 위한 토큰, 별칭 및 상대 링크가 표시됩니다. 나중에 값을 가져올 수 없으므로 토큰 및 별칭을 추적해야 합니다. 값을 잊어버린 경우 토큰을 취소하고 새 토큰을 다시 생성할 수 있습니다.

사전 인증된 요청 보기

기존 처리기의 컨텍스트 메뉴에서 사전 인증된 요청을 선택한 다음 세부정보를 선택합니다.

특정 처리기에 대한 사전 인증된 요청이 나타납니다.

사전 인증된 요청 취소

처리기에 대해 사전 인증된 요청을 취소하려면 다음과 같이 하십시오.

  1. 기존 처리기의 컨텍스트 메뉴에서 사전 인증된 요청을 선택한 다음 세부정보를 선택합니다.

    특정 처리기에 대해 사전 인증된 요청이 나타납니다.

  2. 사전 인증된 요청에 대한 컨텍스트 메뉴에서 취소를 선택합니다.

    확인하라는 메시지가 표시됩니다.

  3. 요청을 취소하려면 확인을 누릅니다.

예: POST 처리기를 사용하여 레코드 삽입

다음 예제는 DEPT 테이블에 레코드를 삽입하는 방법을 보여줍니다.

필요 조건

  • SQL 페이지의 워크시트를 사용하여 DEPT 테이블을 생성합니다.

    CREATE TABLE DEPT(  
      DEPTNO     number(2,0),  
      DNAME      varchar2(14),  
      LOC        varchar2(13),  
      CONSTRAINT PK_DEPT PRIMARY KEY (DEPTNO)  
    )
    
  • example이라는 모듈을 만듭니다. Creating a Resource Module를 참조하십시오.

  • 모듈에 대해 emp/라는 템플리트를 만듭니다. 리소스 템플리트 생성을 참조하십시오.

레코드를 삽입하려면 다음을 수행합니다.
  1. [처리기] 페이지에서 처리기 생성을 누릅니다.
  2. 다음 세부정보를 입력합니다.
    • 메소드 필드에서 POST를 선택합니다.

    • 소스 유형 필드에서 PL/SQL을 선택합니다.

    • 소스 필드에 다음 PL/SQL 블록을 입력합니다.

      DECLARE  
         id number;
      BEGIN
          INSERT INTO DEPT (DEPTNO, DNAME, LOC) VALUES (:DEPTNO, :DEPTNAME, :DEPTLOC) RETURNING DEPTNO INTO id;
          :status_code := 201;
          :forward_location := id;
      END;
      

      설명

      • RETURNING DEPTNO INTO idDEPTNO에 지정된 값을 id 변수로 반환합니다.

      • :status_code는 리소스가 생성되었음을 나타내기 위해 201에 지정된 암시적 매개변수입니다.

      • :forward_locationDEPTNO 값을 포함하는 id에 지정된 암시적 매개변수입니다. 이 매개변수는 POST 요청에 대한 응답을 생성하기 위해 GET 요청을 전달할 위치를 지정합니다.

    • 생성 후 처리기 페이지로 이동이 선택되었는지 확인합니다.

    • MIMEs Allowed(MIMEs 허용됨) 탭의 드롭다운 목록에서 application/json을 선택하고 Add(추가) +를 누릅니다.

    • 생성을 누릅니다.

    Handler POST 페이지가 나타납니다.

    소스 탭에서 명세서 실행 명령문 실행을 눌러 소스 코드를 테스트할 수 있습니다.

  3. POST 요청에 대한 응답을 생성하는 GET 리소스 처리기를 생성합니다.

    예제 모듈에서 emp/:id라는 템플리트를 만듭니다.

    소스 유형추심 항목이고 소스가 다음 질의를 포함하는 GET 리소스 처리기를 생성합니다.

    SELECT * FROM DEPT WHERE DEPTNO = :id
    
  4. cURL에서 다음 명령을 사용하여 RESTful 서비스 끝점을 테스트합니다. 상단의 POST 처리기 카드에 있는 클립보드에 복사 아이콘을 사용하여 URL(http://xyz.us.comp.com:1234/ords/pdbdba/example/emp)을 복사할 수 있습니다.
    curl --location --request POST --header "Content-Type: application/json" 
    --data '{"DEPTNO": 54, "DEPTNAME": "HR", "DEPTLOC": "America" }' 'http://xyz.us.comp.com:1234/ords/pdbdba/example/emp/'

    출력은 다음과 같습니다.

    {"deptno":54,"dname":"HR","loc":"America","links":[{"rel":"collection",
    "href":"xyz.us.comp.com:1234/ords/pdbdba/example/emp/"}]}
  5. SQL 페이지에서 DEPT 테이블에서 다음 명령문을 사용하여 새 레코드가 삽입되었는지 확인합니다.
    SELECT * FROM DEPT;