CodeBlanks Logo Icon CodeBlanks

POST

http.post ile POST isteği öğrenirsin.

POST isteği

post(url, headers: ..., body: ...) bir POST isteği yapar. body bir String, Map veya List<int> olabilir. JSON göndermek için jsonEncode(map) ile String'e çevrilir.

Örnek: var r = await post(url, headers: {'content-type': 'application/json'}, body: jsonEncode({'name': 'Ayşe'}));. Sunucu yeni kaynak oluşturur.

POST body taşır; GET taşımaz. Yeni veri oluşturmak için POST, güncellemek için PUT kullanılır.

JSON body hazırlama

JSON gövde göndermek için önce jsonEncode(map) ile String üretilir, sonra content-type: application/json başlığıyla post'a verilir.

Örnek: var body = jsonEncode({'title': 'Kitap', 'price': 42});. Bu String, post(url, headers: {'content-type': 'application/json'}, body: body) çağrısına verilir.

Başlık olmadan sunucu gövdeyi JSON olarak tanımayabilir; bu yüzden content-type şarttır.

Uygulama JSON body hazırla ve yazdır

import 'dart:convert'; ekle. main içinde var body = jsonEncode({'title': 'Kitap', 'price': 42}); ekle. print(body); ekle.

Başlangıç kodu

main.dart
void main() {
  // dart:convert import ekle; Map'i JSON'a çevir; yazdır
}

Örnek çözüm

main.dart
import 'dart:convert';

void main() {
  var body = jsonEncode({'title': 'Kitap', 'price': 42});
  print(body);
}

Beklenen çıktı

{"title":"Kitap","price":42}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 POST parçalarını eşleştir

Kavram Anlamı
post(url, body:) POST fonksiyonu
body Gönderilen veri
jsonEncode Map → String
content-type İçerik türü

2 POST ile JSON gönderirken hangi başlık şart?

  • content-type Doğru cevap
  • host
  • user-agent
  • accept

Açıklama: application/json başlığı şarttır.

3 JSON body

Soru
var body = ____({'title': 'Kitap', 'price': 42});
Cevap
var body = jsonEncode({'title': 'Kitap', 'price': 42});

Açıklama: jsonEncode Map'i JSON String'ine çevirir.

İleri seviye bölümündeki tüm dersler