RESTful 웹서비스 생성
Modules, Templates 및 Handlers 페이지를 사용하여 RESTful 웹 서비스를 생성합니다.
RESTful 웹 서비스를 만들려면 다음을 수행해야 합니다.
-
자원 모듈 정의
-
리소스 템플리트 정의
-
GET, PUT, POST 또는 DELETE와 같은 하나 이상의 리소스 처리기를 정의합니다. 선택적으로 리소스 처리기에 전달해야 하는 파라미터를 정의합니다.
다음 절에서는 리소스 모듈, 리소스 템플리트 및 리소스 처리기를 만드는 방법에 대한 정보를 제공합니다.
- 리소스 모듈 관리
[모듈] 페이지에서 리소스 모듈을 정의, 편집 및 삭제할 수 있습니다. - 리소스 템플리트 관리
템플리트 페이지에서 모듈에 대한 리소스 템플리트를 정의, 편집 및 삭제할 수 있습니다. - 리소스 처리기 관리
[처리기] 페이지에서 템플리트에 대한 리소스 처리기를 생성, 편집 및 삭제할 수 있습니다. - 예제: POST 처리기를 사용하여 레코드 삽입
다음 예에서는 DEPT 테이블에 레코드를 삽입하는 방법을 보여 줍니다.
참조:
-
Oracle REST Data Services 빠른 시작 설명서의 RESTful 서비스 생성
상위 토픽: REST 페이지
리소스 모듈 관리
[모듈] 페이지에서 리소스 모듈을 정의, 편집 및 삭제할 수 있습니다.
[모듈] 페이지로 이동하려면 [REST 개요] 페이지에서 [객체]의 모듈을 누르거나 머리글의 메뉴에서 모듈을 선택합니다.
카드 보기에서 기본적으로 표시되는 모듈 속성은 다음 그림에 나와 있습니다.
모듈 상태는 게시 또는 게시 취소할 수 있습니다. 상태가 게시되지 않은 경우 아이콘이 빨간색으로 표시됩니다.
카드 보기에서 모듈 이름을 눌러 해당 모듈에 대한 템플리트 페이지로 이동합니다. 컨텍스트 메뉴를 통해 Templates 페이지로 이동할 수도 있습니다.
컨텍스트 메뉴에서 사용할 수 있는 작업은 다음과 같습니다.
-
모듈에 대한 템플리트 페이지로 이동
- 리소스 모듈 만들기
이 절에서는 리소스 모듈을 만드는 방법에 대해 설명합니다. - 리소스 모듈 임포트
- 리소스 모듈 편집
이 절에서는 리소스 모듈을 편집하는 방법에 대해 설명합니다. - 리소스 모듈 삭제
이 절에서는 리소스 모듈을 삭제하는 방법에 대해 설명합니다. - 리소스 모듈 게시/게시 취소
이 절에서는 리소스 모듈을 사용 가능하도록 설정하는 방법에 대해 설명합니다. - 리소스 모듈 익스포트
리소스 모듈 또는 RESTful 서비스에 대해 API 또는 Open API(Swagger) JSON 코드에 대한 PL/SQL 소스 코드를 익스포트할 수 있습니다. 모듈에 템플리트, 처리기, 파라미터, 롤 등이 있는 경우 이러한 객체도 표시되고 엑스포트됩니다. - OpenAPI 뷰에서 모듈 보기
이 섹션에서는 Open API 뷰에서 모듈을 여는 방법에 대해 설명합니다.
상위 항목: RESTful 웹 서비스 생성
리소스 모듈 임포트
주:
OpenAPI 버전 2.0 또는 3.0 문서는 JSON 형식으로만 임포트할 수 있습니다.상위 항목: 리소스 모듈 관리
리소스 모듈 편집
이 섹션에서는 리소스 모듈 편집 방법을 설명합니다.
- [모듈] 페이지에서 특정 모듈에 대해
을 누르고 편집을 선택합니다. - 필수 필드를 편집하고 저장을 누릅니다. 필드에 대한 설명은 리소스 모듈 생성을 참조하십시오.
상위 항목: 리소스 모듈 관리
리소스 모듈 내보내기
리소스 모듈 또는 RESTful 서비스의 API 또는 Open API(Swagger) JSON 코드에 대한 PL/SQL 소스 코드를 익스포트할 수 있습니다. 모듈에 템플리트, 처리기, 파라미터, 롤 등이 있는 경우 이러한 객체도 표시되고 엑스포트됩니다.
상위 항목: 리소스 모듈 관리
OpenAPI 뷰에서 모듈 보기
이 섹션에서는 Open API 뷰에서 모듈을 여는 방법에 대해 설명합니다.
상위 항목: 리소스 모듈 관리
리소스 템플리트 관리
Templates 페이지에서 모듈에 대한 리소스 템플리트를 정의, 편집 및 삭제할 수 있습니다.
이 페이지로 이동하려면 [모듈] 페이지에서 모듈에 대해
을 누르고 템플리트를 선택하거나 카드 보기에서 모듈 이름을 누릅니다.
페이지 상단에서 모듈 카드는 편집, 삭제, 게시 및 익스포트와 같은 컨텍스트 메뉴 옵션과 함께 사용할 수 있습니다.
카드 보기에서 기본적으로 표시되는 템플리트 속성은 다음 그림에 나와 있습니다.
카드 뷰에서 템플리트 이름을 눌러 처리기 페이지로 이동합니다. 컨텍스트 메뉴를 통해 Handlers 페이지로 이동할 수도 있습니다.
컨텍스트 메뉴에서 사용할 수 있는 작업은 다음과 같습니다.
-
템플리트에 대한 [처리기] 페이지로 이동
- 리소스 템플리트 생성
이 절에서는 리소스 템플리트를 생성하는 방법에 대해 설명합니다. - 리소스 템플리트 편집
이 절에서는 리소스 템플리트를 편집하는 방법에 대해 설명합니다. - 리소스 템플리트 삭제
이 절에서는 리소스 템플리트를 삭제하는 방법에 대해 설명합니다.
상위 항목: RESTful 웹 서비스 생성
리소스 처리기 관리
[처리기] 페이지에서 템플리트에 대한 리소스 처리기를 생성, 편집 및 삭제할 수 있습니다.
이 페이지로 이동하려면 [템플리트] 페이지에서 템플리트에 대해
을 누르고 처리기를 선택하거나 카드 보기에서 템플리트 이름을 누릅니다.
페이지 상단에서 템플리트 카드는 편집 및 삭제와 같은 컨텍스트 메뉴 옵션과 함께 사용할 수 있습니다.
카드 보기에 기본적으로 표시되는 처리기 속성은 다음 그림에 나와 있습니다.
HTTP 메소드는 GET, PUT, POST 및 DELETE 중 하나일 수 있습니다.
컨텍스트 메뉴를 사용하여 HTTP 메소드 페이지로 이동할 수 있습니다. HTTP 메소드 페이지에는 Source, Parameters 및 Pre-Authenticated Requests라는 세 개의 탭이 표시됩니다.
주:
템플리트에 네 개의 처리기(GET, POST, PUT, DELETE)가 모두 생성된 경우에는 이 옵션을 사용할 수 없습니다.컨텍스트 메뉴에서 사용할 수 있는 작업은 다음과 같습니다.
-
편집: 리소스 처리기 편집을 참조하십시오.
-
삭제: 리소스 처리기 삭제를 참조하십시오.
-
세부정보: 리소스 처리기 세부정보 보기 및 매개변수 관리를 참조하십시오.
-
사전 인증된 작업 요청: 사전 인증된 작업 요청을 참조하십시오.
- 리소스 처리기 만들기
이 절에서는 리소스 처리기를 만드는 방법에 대해 설명합니다. - 리소스 처리기 편집
이 절에서는 리소스 처리기를 편집하는 방법에 대해 설명합니다. - 리소스 처리기 삭제
이 절에서는 리소스 처리기를 삭제하는 방법에 대해 설명합니다. - 리소스 처리기 세부정보 보기 및 매개변수 관리
HTTP 메소드 페이지에서 리소스 처리기 세부정보를 보고 매개변수를 관리할 수 있습니다. - 사전 인증된 요청을 사용하여 ORDS RESTful 서비스에 액세스
보호된 RESTful 서비스에 액세스하려면 사전 인증된 요청을 생성하고 취소할 수 있습니다.
상위 항목: RESTful 웹 서비스 생성
리소스 처리기 세부 정보 보기 및 파라미터 관리
HTTP 메소드 페이지에서 리소스 처리기 세부정보를 보고 매개변수를 관리할 수 있습니다.
이 페이지로 이동하려면 특정 처리기에 대해
을 누른 다음 세부정보를 선택하거나 카드 보기에서 처리기 이름을 누릅니다.
페이지 상단에서 처리기 카드는 편집 및 삭제와 같은 컨텍스트 메뉴 옵션과 함께 사용할 수 있습니다.
[처리기 HTTP 메소드] 페이지에는 두 개의 주요 섹션이 있습니다.
-
리소스 처리기에 정의된 SQL 또는 PL/SQL 소스 코드를 실행하기 위한 코드 편집기입니다. 코드를 실행하고, 저장하고, 실행 취소하고, 리두하고, 출력을 다운로드하고 지울 수 있습니다. 편집기에 대한 자세한 내용은 코드 편집기에서 SQL 문 실행을 참조하십시오.
REST 서비스 처리기에 사용되는 암시적 매개변수가 편집기 오른쪽의 스크롤 목록에 표시됩니다. 암시적 매개변수를 참조하십시오.
-
HTTP 메소드 실행에 필요한 매개변수 관리 섹션입니다.
기본적으로 매개변수는 그리드 뷰에 표시됩니다. 카드 보기의 매개변수에 표시되는 속성은 다음 그림에 나와 있습니다.
컨텍스트 메뉴에서 사용할 수 있는 작업은 다음과 같습니다.
- 매개변수 생성
이 섹션에서는 리소스 처리기에 대한 매개변수를 생성하는 방법에 대해 설명합니다. - 매개변수 편집
이 섹션에서는 매개변수를 편집하는 방법에 대해 설명합니다. - 매개변수 삭제
이 섹션에서는 매개변수를 삭제하는 방법에 대해 설명합니다. - 암시적 매개변수
이 섹션에서는 [리소스 처리기 세부정보] 페이지의 암시적 매개변수에 대해 설명합니다. 이러한 매개변수는 리소스 처리기에 자동으로 추가됩니다.
상위 항목: 리소스 처리기 관리
암시적 매개변수
이 섹션에서는 [리소스 처리기 세부 정보] 페이지의 암시적 매개변수에 대해 설명합니다. 이러한 매개변수는 리소스 처리기에 자동으로 추가됩니다.
표 4-1 암시적 매개변수
| 이름 | 유형 | 액세스 모드 | HTTP 헤더 | 설명 |
|---|---|---|---|---|
|
|
BLOB |
IN |
N/A |
요청 본문을 임시 BLOB으로 지정합니다. |
|
|
CLOB |
IN |
N/A |
요청 본문을 임시 CLOB로 지정합니다. |
|
|
VARCHAR |
IN |
|
Content-Type 요청 헤더에 표시된 대로 요청 본문의 MIME 유형을 지정합니다. |
|
|
VARCHAR |
IN |
N/A |
요청에 대해 인증된 사용자를 지정합니다. 인증된 유저가 없으면 값은 null로 설정됩니다. |
|
|
VARCHAR |
OUT |
|
Oracle REST Data Services가 이 요청에 대한 응답을 생성하기 위해 GET 요청을 전달해야 하는 위치를 지정합니다. |
|
|
NUMBER |
IN |
N/A |
페이지에 표시할 첫 번째 행의 0 기반 오프셋을 지정합니다. |
|
|
NUMBER |
IN |
N/A |
페이지에서 검색할 최대 행 수를 지정합니다. |
|
|
NUMBER |
IN |
N/A |
페이지 매김된 요청에서 0 기반 페이지 오프셋을 지정합니다. 주: |
|
|
NUMBER |
IN |
N/A |
페이지에서 검색할 최대 행 수를 지정합니다.
|
|
|
NUMBER |
IN |
N/A |
페이지 매김된 요청에 표시할 첫번째 행의 단일 기반 인덱스를 지정합니다. |
|
|
NUMBER |
IN |
N/A |
페이지 매김된 요청에 표시할 마지막 행의 단일 기반 인덱스를 지정합니다. |
|
|
NUMBER |
OUT |
|
요청에 대한 HTTP 상태 코드를 지정합니다. |
암시적 매개변수에 대한 자세한 내용은 Oracle REST Data Services Developer's Guide를 참조하십시오.
상위 항목: 리소스 처리기 세부 정보 보기 및 매개변수 관리
사전 인증된 요청을 사용하여 ORDS RESTful 서비스 액세스
보호된 RESTful 서비스에 액세스하기 위해 사전 인증된 요청을 생성하고 취소할 수 있습니다.
사전 인증된 요청을 통해 사용자 자격 증명 없이 보호된 ORDS RESTful 서비스에 액세스할 수 있습니다. 사전 인증된 요청을 생성하면 고유한 URL이 생성됩니다. 이 URL을 외부 사용자에게 제공하여 표준 HTTP 도구를 사용하여 특정 RESTful 엔티티와 상호 작용할 수 있습니다.
사전 인증된 요청에 대한 자세한 내용은 Oracle REST Data Services Developer's Guide의 Oracle REST Data Services Pre-Authenticated Requests를 참조하십시오.
[사전 인증된 요청] 페이지로 이동하려면 다음 중 하나를 수행합니다.
-
개요 페이지에서 사전 인증된 요청 타일을 누릅니다.
-
메뉴 모음에서 보안을 확장하고 사전 인증된 요청을 선택합니다.
항목:
사전 인증된 요청 생성
기존 처리기에 대해 사전 인증된 요청을 생성하려면 다음과 같이 하십시오.
-
기존 처리기의 컨텍스트 메뉴에서 새 사전 인증된 요청 생성을 선택합니다.
Create Pre-authenticated Request 패널이 나타납니다.
-
토큰 만료 필드에 토큰 만료 기간(초)을 입력합니다.
사전 인증된 요청을 생성하기 위한 기본 소스 코드를 보려면 코드 표시를 선택합니다.
생성을 누릅니다.
리소스에 액세스하기 위한 토큰, 별칭 및 상대 링크가 표시됩니다. 나중에 값을 가져올 수 없으므로 토큰 및 별칭을 추적해야 합니다. 값을 잊어버린 경우 토큰을 취소하고 새 토큰을 다시 생성할 수 있습니다.
예: 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/라는 템플리트를 만듭니다. 리소스 템플리트 생성을 참조하십시오.
상위 항목: RESTful 웹 서비스 생성



