POST
- Dart kursu
- İleri seviye
- Ders 33/83
- 5 dk
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
void main() {
// dart:convert import ekle; Map'i JSON'a çevir; yazdır
}Örnek çözüm
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
var body = ____({'title': 'Kitap', 'price': 42});
var body = jsonEncode({'title': 'Kitap', 'price': 42});
Açıklama: jsonEncode Map'i JSON String'ine çevirir.