[flutter (플루터 앱 개발)] How to use Flutter’s Rest API

 

 

Flutter 를 이용하여 Rest API 를 호출 하는 방법이 궁금해서 정리해 보았습니다.
(참고 : Flutter 는 하나의 코드로 Android, iOS 에서 네이티브로 컴파일 되는 앱을 개발 할 수 있는 구글의 툴킷)

Rest API 는 5개의 Method(GET, POST, PUT, DELETE, PATCH)가 있는데, 주로 GET, POST 가 사용된다. 그래서, GET, POST 를 사용하는 방법에 대해서만 정리 하려고 합니다.

1. GET Method

[테스트용 Rest API]

Flutter 에서 Rest API 를 호출 하기 위해서는 아래의 순서로 코드를 작성하면 된다.

1. http 라이브러리를 pubspec.yml 에 추가 후 pub get 명령어로 설치한다.

2. http, convert 라이브러리를 import 한다.

3. http.get 을 이용하여 Rest API 를 호출 하고, response.body 에 리턴되는 json object 를 jsonDecode 를 이용하여 Parsing 하면 됩니다.

이렇게 response.body 에 담겨진 JSON Object 를 jsonDecode 로 Parsing 하면 아래와 같이 JSON Objcet[“Key”] 로 value 를 사용 할 수 있습니다.

이렇게 쉽게 Rest API 의 결과를 String 또는 JSON Object 로 받아서 사용할 수 있습니다. 이제 JSON Object 를 Value Object 에 넣어 사용하는 방법을 알아 보겠습니다.

위에서 사용한 response.body 의 결과 값인 { “restapi” : “get” } 을 사용하기 위한 JsonObject 클래스를 아래와 같이 선언합니다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

이렇게 선언한 JsonObject 는 아래와 같이 사용하면 됩니다.

이렇게 Value Object 인 JsonObject 를 사용 할 수 있습니다.

2. POST Method

[테스트용 Rest API]

  • Response JSON

1. Flutter 에서 Rest API 를 호출 하기 위해 GET Rest API 를 사용한 것과 동일하게 http, conver 라이브러리를 import 합니다.

2. http.post 을 이용하여 Rest API 를 호출 하고, response.body 에 RESPONSE 된 json object 를 jsonDecode 를 이용하여 Parsing 하면 됩니다. POST method 를 호출 하기 위해선 Map 으로 된 body 를 파라미터로 넘겨 주어야 합니다. 이를 위해 queryJson 을 생성합니다.

그리고 Response 를 받아 JSON 으로 출력하거나, Value Object 로 처리하는 부분은 GET method 과 방식 동일하게 Value Object 클래스를 작성하여 처리합니다.

이렇게 선언한 JsonObject 는 GET Method 를 사용하는 방법과 동일하게 사용하게 됩니다.

이렇게 Flutter 에서 Rest API 의 GET, POST Method 를 사용하는 방법을 정리했습니다.

Flutter 로 즐거운 취미 생활을 하시는데 도움이 되길 바라며.. 총총총~

 

[출처] https://jellybeanz.medium.com/how-to-use-flutters-rest-api-f2658b4336cc

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED