CAFE

요청자료 보관함

Manus 1.6 Lite 파빌 질문 1

작성자파빌신|작성시간26.06.11|조회수14 목록 댓글 0

질문:

파워빌더 2022 R3에서 REST API를 호출하는 예제 코드를 보여줘.

 

답변:

파워빌더 2022 R3 공식 문서(SendGetRequest 함수 섹션)를 참조하여 REST API를 호출하는 예제 코드를 안내해 드립니다.

파워빌더에서는 RESTClient 오브젝트를 사용하여 RESTful 서비스를 간편하게 호출할 수 있습니다. 아래는 가장 기본적인 GET 방식 호출 예제입니다.

 

 

1. REST API 호출 예제 (GET 방식)

이 코드는 API로부터 JSON 데이터를 받아와서 DataWindow에 직접 임포트하는 전형적인 패턴입니다.

// 1. 변수 선언 및 오브젝트 생성
RestClient lnv_RestClient
String ls_Response
Integer li_Return

lnv_RestClient = Create RestClient

// 2. HTTP 요청 헤더 설정 (필요한 경우)
// 예: JSON 형식 지정 및 Gzip 압축 허용
lnv_RestClient.SetRequestHeaders("Content-Type:application/json;charset=UTF-8~r~nAccept-Encoding:gzip")

// 3. GET 요청 전송
// ls_Response 변수에 API 결과값이 문자열로 담깁니다.
li_Return = lnv_RestClient.SendGetRequest("https://api.example.com/data/retrieve", ls_Response )

// 4. 결과 처리
If li_Return = 1 Then
    // HTTP 상태 코드가 200(정상)인지 확인
    If lnv_RestClient.GetResponseStatusCode() = 200 Then
        // 받아온 JSON 데이터를 데이터윈도우(dw_1)에 임포트
        // 주의: JSON 구조와 데이터윈도우 컬럼 구성이 일치해야 합니다.
        dw_1.ImportJson(ls_Response)
    Else
        MessageBox("오류", "API 호출 실패. 상태 코드: " + String(lnv_RestClient.GetResponseStatusCode()))
    End If
Else
    MessageBox("오류", "네트워크 전송 실패. 리턴 코드: " + String(li_Return))
End If

// 5. 오브젝트 해제
Destroy lnv_RestClient

 

2. 주요 포인트 설명

  • RESTClient 오브젝트: 파워빌더에서 REST API 통신을 담당하는 핵심 오브젝트입니다.
  • SendGetRequest(url, response): 지정된 URL로 GET 요청을 보내고 결과를 response 변수에 저장합니다. 성공 시 1을 반환합니다.
  • GetResponseStatusCode(): 호출 후 서버에서 반환한 HTTP 상태 코드(200, 404, 500 등)를 확인합니다.
  • ImportJson(): API로부터 받은 JSON 문자열을 데이터윈도우나 데이터스토어에 즉시 채워넣을 때 매우 유용합니다.

 

3. POST 방식 호출 (참고)

데이터를 서버로 보낼 때는 SendPostRequest 함수를 사용하며, 두 번째 파라미터에 보낼 데이터(JSON 문자열 등)를 추가하면 됩니다.

// 예시: POST 호출
li_Return = lnv_RestClient.SendPostRequest("https://api.example.com/data/create", ls_RequestBody, ls_Response )

더 구체적인 상황(인증 토큰 처리, 복잡한 JSON 파싱 등)에 대한 예제가 필요하시면 말씀해 주세요! 공식 문서를 더 자세히 찾아봐 드릴 수 있습니다.

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼