https://pub.dev/packages/http/install
flutter의 경우 pub.dev에 가면 사용할 수 있는 라이브러리가 모여있다!
pubspec.yaml파일 안에 추가!!!
import 'package:flutter/material.dart';
import 'package:http/http.dart' as mHttp;
void main() {
runApp(MaterialApp(
home: Home(),
));
}
class Home extends StatefulWidget {
const Home({Key? key}) : super(key: key);
@override
State<Home> createState() => _HomeState();
}
class _HomeState extends State<Home> {
var resText = "";
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
Container(
child: Center(
child: Text(resText ?? ""),
),
),
TextButton(
onPressed: () {
setState(() {
fetchData(3);
}); // 버튼을 눌렀을 때 함수가 실행된다.
},
child: Text("데이터 요청 버튼"),
)
],
),
);
}
// 통신기능 하는 함수 만들기
// 매개변수를 사용하면 특정하여 http 통신을 처리 할 수 있다.
fetchData(int id) async {
// 다트는 비동기화 이므로 꼭 async - await를 해주어야 오류가 없다.
// (통신에서 받아와서 뿌려줘야하기 때문에 ! )
var uri = Uri.parse("https://jsonplaceholder.typicode.com/users/$id");
print("----------------------------------");
print(uri.runtimeType);
// method 방식을 get 으로 처리
//Http 메시지를 만들어서 요청을한다
mHttp.Response response = await mHttp.get(uri);
resText = response.body;
print(response.runtimeType);
print("----------------------------------");
print(response.body);
print("----------------------------------3");
print(response.headers);
}
}
가져올 http 파일 : https://jsonplaceholder.typicode.com/users/3
[결과]
'개발일지 > Dart' 카테고리의 다른 글
JSON데이터 파싱하기 (0) | 2022.11.15 |
---|---|
Stream (0) | 2022.11.13 |
Future(비동기) - async , await 활용 - 3 (0) | 2022.11.10 |
Future(비동기) - async , await 활용 - 2 (0) | 2022.11.10 |
Future(비동기) - async , await 활용 - 1 (0) | 2022.11.10 |
댓글