Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Node js
- IT특성화 학생
- 취준생?!
- 리스트 아이템
- async
- text overflow
- 라이브러리
- flutter 2.0
- null_safety
- 책 정보
- null-safety
- pub.dev
- 해석
- await
- Future
- liquid_swipe
- 기본코드
- 인사글
- 기본 개념
- 주석 추가
- javascript
- flutter
- 욕 필터링
- 비동기
- listtile
- 독도갈매기
- get과 post
- delayed
- pubspec.yaml
- 글자 변경
Archives
- Today
- Total
This is unimportant
Flutter http 통신(JSON) 본문
API
API = Application Programming Interface
응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을
제어할 수 있게 만든 인터페이스를 뜻한다.
-위키피디아-
일련의 표준화된 명령이나 기능
매개 역할자로써의 API
JSON
key값과 value값이 각각 매칭되는 것을 JSON format이라고 함.
서버에서 값 가져오기
// Uri는 Url의 한 종류라고 할 수 있음
String uri = 링크;
var url = Uri.parse(uri);
Response response = await http.get(url);
var parsingData;
// 연결 상태를 코드로 표시
// Ex. 200(정상), 404(에러)...
if(response.statusCode == 200){
// JSON의 본문 전체를 가져옴
String jsonData = response.body
// JSON형식으로 디코딩
// 인코딩 : 동영상이나 문자 인코딩 뿐 아니라 사람이 인지할 수 있는 형태의 데이터를 약속된 규칙에 의해 컴퓨터가 사용하는 0과 1로 변환하는 과정
// 디코딩 : 디코딩은 인코딩의 반대로서 사람이 이해 할 수 있도록 바꿔주는 것을 의미
parsingData = jsonDecode(jsonData);
}
// JSON 데이터를 가져오기(비동기로 처리)
var jsonData = await parsingData.getJsonData();
// Ex. color 안에 red값을 가져옴
jsonData['color']['red'];
// Ex. id값을 가져옴
jsonData['id']
서버에서 값 보내기
// Future<void>로 메서드 생성
var url = Uri.parse(링크);
const Map<String, String> _header = {};
final _body = jsonEncode({
'key1' : 보낼 값,
'key2' : 보낼 값
});
try{
final Response response = await post(url, headers : _header, body : _body)
.timeout(Duration(시간),
onTimeout : () async => new Response('false', 404));
final _result = response.body;
return _result;
}catch(e){
print(e);
}
'Flutter' 카테고리의 다른 글
Flutter Null Safety (0) | 2021.04.19 |
---|---|
Flutter Future, async, await 심화 (0) | 2021.04.17 |
Flutter Future, async, await (0) | 2021.04.16 |
Flutter 길이가 넘는 글자 변경 (0) | 2021.04.04 |
Flutter Splash screen (0) | 2021.03.31 |
Comments