질문:
파워빌더 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 파싱 등)에 대한 예제가 필요하시면 말씀해 주세요! 공식 문서를 더 자세히 찾아봐 드릴 수 있습니다.
다음검색