Consume a REST API in 10 minutes with OutSystems
위의 영상대로 차근차근 따라가는 중.
스크래치 > Service 로 애플리케이션 생성.
Stripe API를 불러올거라 Stripe로고와 이름을 넣어줬다.
외부 API를 사용할 것이라 Consume REST API 선택.
아래에서 add multiple method, add single method 두 방식을 따로 설명할 예정.
Add Multiple Method
raw.githubusercontent.com/stripe/openapi/refs/heads/master/openapi/spec3.json
해당 소스 긁어서 json파일 만들어 저장.
Upload file > json 파일 선택 > Add methods
모든 Stripe 메소드 목록이 검색되는 것을 확인.
Finish를 눌러 완료...........했으면 좋았을텐데 오류발생.
인증관련 문제인듯하다.
오류가 떠도 세팅이되서 냅둘가하다가 해결해보기로.
챗지에게 물어봤는데, Swagger JSON 파일에서 인증 스키마(basicAuth 또는 bearerAuth)를 제거하거나, OutSystems에서 지원되는 OAuth 2.0 스키마로 수정하면 된다고 함.
oauth2를 사용하도록 변경
⇒ We weren’t able to import the Swagger file since it doesn’t follow a supported specification. (Swagger 파일이 지원되는 사양을 따르지 않아서 가져올 수 없었습니다.) 라는 오류 발생.
그냥 일단 패스... 하려다가 그냥 다른소스 안붙이고 문제되는 인증 소스만 지워봤다.
이래도 안되면 그냥 오류나도 진행해야겠음.
처음에 났던 오류 다시 발생 ㅎㅎ 그냥 일단 진행한다.
Add Single Method
아래 페이지에서 url 가져오기
https://docs.stripe.com/api/payment_intents/create
Create a PaymentIntent | Stripe API Reference
You can cancel a PaymentIntent object when it’s in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, in rare cases, processing. After it’s canceled, no additional charges are made by the Paymen
docs.stripe.com
복사
방식은 POST로 설정하고 복사해온 주소를 붙여넣는다.
그리고 Request 를 입력. docs 예제에는 usd로 되어있지만 나는 영상에 따라 eur로 진행.
인증 칸에서 Basic authentication으로 설정.
(영상에서는 이전 버전이라 셀렉트란이 없고, Basic authentication가 기본으로 되어있음)
docs에서 복사해온 키값을 username에 넣는다.
영상에서는 username에만 키값을 입력하면됐는데, 비밀번호없이 진행하려면 비밀번호 입력하라고 뜨길래 password에도 동일한 키값을 넣어줬더니 진행됨.
테스트 결과가 정상적으로 출력.
Copy to response body 를 클릭하면 [Body]탭의 Response란에 붙여넣어짐.
여기까지 완료후 Finish 클릭하면 단일 Post 메소드가 생긴 걸 확인할 수 있다.
이제 추가적으로 get 메서드를 만들어 보자.
https://api.stripe.com/v1/payment_intents
여기까지 doc에서 긁어오고 뒤에 중괄호로 필요한 피라미터명을 넣는다.
Test 탭에서 이전에 받아온 Id를 파라미터값으로 넣어주고 TEST 클릭.
앞에서 했던것처럼 Copy to response body 클릭.
Finish 클릭
동일한 방식으로 전체 목록을 가져오는 get 메서드도 추가해줬다.
다른 애플리케이션에서 사용할 수 있도록 하는 건 다음 포스팅에 이어서 ^^...!
'Outsystems' 카테고리의 다른 글
[Pagination] 테이블과 리스트에 페이지네이션 수동으로 붙이기 (0) | 2025.02.18 |
---|---|
[Block Event] 블록 내부에서 이벤트 트리거 후 부모에서 처리하기 (0) | 2025.02.14 |
[Screen Action] 화면에서 값을 입력받아 스크린 액션 만들기 (0) | 2025.01.21 |
[REST API] Rest API 전용 서비스앱 만들기 02 (0) | 2025.01.16 |
[REST API] 외부 REST API 조회해서 화면에 보여주기 (1) | 2025.01.14 |