flutter에서 http통신을 통한 restapi 사용은 어렵다.조금이라도 쉽게 진행하기 위해 상태관리 라이브러리인 Getx에서 Getconnect를 사용한다.사용 예로 특정 버스 정류장에서 특정 노선이 도착하는 정보를 얻는 api를 사용한다.https://github.com/jonataslaw/getx/blob/master/README.ko-kr.md
getx/README.ko-kr.mdatmaster·jonataslaw/getx화면/대화상자/하단을 여는 컨텍스트 없는 시트, 상태 관리, 의존관계 주입을 Get에서 쉽게 할 수 있습니다.-getx/README.ko-kr.mdatmaster·jonataslaw/getxgithub.com
https://www.data.go.kr/data/15000314/openapi.do
서울특별시_버스도착정보조회서비스 특정정류장에 대한 버스도착예정정보제공 www.data.go.kr
종속성 추가 pubspec.yaml
의존 관계: 취득:
Getx의 사용법은 생략한다. UIpage.dart
하위:열(어린이:[컨테이너(높이:50), 텍스트(높이:20), 텍스트(높이:20), 텍스트(‘+’), Obx()=> 텍스트(Get).<Go Home Controller Reactive>()를 찾습니다.결과 문자열 b1. 값), SizeBox(높이:20), 텍스트(“++”:”), Obx() = > 텍스트(Get).< Go Home Controller Reactive>()를 찾습니다.결과 문자열 b2.값)), ],
컨트롤러 controller.dart
컨트롤러 controller.dart
return 값은 api에서 xml 형태로 리턴된다.query Parameter 2는 직접 채워요. (홈페이지 참조)
finalqueryParameters2={‘serviceKey’:’queryId’,’stId’:’stId’,’busRouteId’:’ord’:’queryRouteId’,};Future<Response>getLocal2()=>getlikehttp://ws.bus.go.kr/api/rest/arrive/getArrInfoByRoute’,queryParameters2);
get 메서드에 query 이외에도 이것저것 추가가 가능하다.
json de de de의 j 사법https://gist.github.com/eduardoflorence/b4bca2da5cfb973b9f86ecfa1b9f013a
미래=응답=도시모델(신체) > 포스트시티모델>(‘http://192.168.0.101:3000/항목’, 본문, 디코더:(obj) = 시티모델. Json(obj)에서;
이때 decode에 사용된 dataclass는 몇 가지 유용한 플러그인을 활용하면 쉽게 만들 수 있다.다시 와서 xml를 decode 하는 방법을 본다. 종속성 추가 pubspec.yaml다시 와서 xml를 decode 하는 방법을 본다. 종속성 추가 pubspec.yaml의존 관계: xml:의존 관계: xml:voidgoHome(){getLocal2(). then(value)=>printxml2(value);}voidprintxml2(응답 응답){print(response.body);XmlDocument?XmlData=XmlDocument.parse(response.body);finalwantData1=XmlData.findAllElements(‘arrmsg1’);finalwantData2=XmlData.findAlllElements(‘arrmsg2’);resultStringb1.singlex.innerText.replaceFirst(‘,’). replaceFirst(‘=replaceF resultStringb2.value=wantData2.single.innerText.replaceFirst(‘ω’,’ω’). replaceFirst(‘ω’,’ω’). replaceFirst(‘ω’,’ω’);}getLocal2 함수의 return→go Home을 통해 전달→printxml2를 통해 내용 출력 json과 달리 xml도 decode 할 수 있지만 지금처럼 element만 골라 출력하는 것이 용이하다.