1-) FLUTTER - Http Client Get Post Delete Request Response Put Kullanımı
httpclient
türkçe karakter sorunu : final jsontext = utf8.decode(response.bodyBytes);
var _uri = Uri.parse(link);
body olarak data gönderme
Future<GenelModel> sendMail(String mail,String kod) async { Map data = {
|
1- AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET"/>
|
2- KULLANIMI
var headers = <String, String>{
'Content-Type': 'application/json; charset=UTF-8',
};
http.post(_uri,headers: headers)
String text = json.encode(classIsmi);
1- Terminale yaz çalıştır -> flutter pub add http -> ardından bunu çalıştır -> flutter pub get
2- Yazmış olduğunuz api'den jsonu buraya koplayın class ismini verip oluştur deyin
link : https://javiercbk.github.io/json_to_dart/
|
class ResModelim {
|
3- Api.dart (Http get post yapmamıza yarayan sınıf)
import 'dart:convert';
|
4- Kullanımı(Önemli kısmı veriler çekilmeden build kısmında return boş container donduruom)
Api api = new Api();
Future<AnketSorular> getSorular() async { AnketSorular anketSorular = await api.getSorular(); setState(() {
|
@override
|
bool cekildi=false;
|
Açıklama : getSorular() metodu asenkron çalışır. ama kullanımında await yani çekilinceye kadar bekle dedik. o yüzden çekildikten sonra işlemlerimize devam ederiz. normalde aşağıdaki gibi then dedikten sonra donen değerden sonra işlem yapılır
.then((http.Response response) {
int statusCode = response.statusCode;
5- DİĞER ÖRNEK DAHA BASİT ANLAYABİLİRİZ. BAKINIZ
KULLANIMI
JSON' UMUZ
| import 'dart:convert';
| class AnketDepartman {
|
6- JSON LİST DÖNERSE köşeli parantezli ORNEK:
Future<List<TumBankaModel>> getTumBanka() async {
var headers = <String, String>{ 'Content-Type': 'application/json; charset=UTF-8', };
final _params = { "userName" : "re" ,"password" : "ze"};
var _uri = Uri.http(StatikSinif.apiBaseUrl,"/api/Genel/getir",_params);
return await http.post(_uri,headers: headers).then( (http.Response response) { int statusCode = response.statusCode;
String jsontext = response.body.toString();
if (statusCode < 200 || statusCode >= 400 || jsontext == null) { return <TumBankaModel>[]; }
List<TumBankaModel> modelim = (jsonDecode(response.body) as List) .map((data) => TumBankaModel.fromJson(data)) .toList();
return modelim ; }, ); }
|