Yanıt Yardımcıları ve Durum Kodları
c.JSON, c.AbortWithError ve hata yanıtları
Yanıt Yardımcıları ve Durum Kodları, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Go Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Go Academy kursu toplamda 4 dersten oluşur.
c.JSON
c.JSON(statusCode, obj), obj öğesini JSON'a dönüştürür ve Content-Type'ı application/json olarak ayarlar. En yaygın yanıt yöntemidir.
c.JSON(http.StatusOK, gin.H{
"id": user.ID,
"name": user.Name,
})gin.H
gin.H, map[string]any için kısa yazımdır. Yapı tanımlamadan geçici JSON nesneleri oluşturmak için kullanın.
c.JSON(200, gin.H{"message": "created", "id": id})HTTP durum sabitleri
Açıklık için ham sayılar yerine http.Status* sabitlerini kullanın:
c.JSON(http.StatusCreated, gin.H{"id": id})
c.JSON(http.StatusBadRequest, gin.H{"error": "invalid input"})
c.JSON(http.StatusInternalServerError, gin.H{"error": "internal error"})c.String ve c.Data
c.String ile düz metin veya c.Data ile isteğe bağlı baytlar gönderin:
c.String(200, "Hello, %s!", name)
c.Data(200, "application/octet-stream", fileBytes)c.File ve c.FileAttachment
Diskteki bir dosyayı satır içi olarak veya indirme şeklinde sunun:
c.File("./public/report.pdf") // inline
c.FileAttachment("./report.pdf", "report.pdf") // downloadc.Redirect
Bir HTTP yönlendirmesi gönderin (301 kalıcı, 302 geçici):
c.Redirect(http.StatusMovedPermanently, "/new-url")c.AbortWithStatus
İstek zincirinin işlenmesini durdurur ve verilen durum koduyla boş bir yanıt yazar. c.JSON'dan farklı olarak, sonraki işleyicilerin çalışmasını önlemek için Abort çağrısı yapar.
c.AbortWithStatus(http.StatusUnauthorized)c.Error
Yanıt yazmadan hataları bağlama ekler. Bir ara yazılım bunları toplayabilir ve sonunda birleşik bir hata yanıtı yazabilir.
c.Error(fmt.Errorf("database error: %w", err))Yanıt üst bilgileri
c.JSON veya c.Data çağrısından önce özel yanıt üst bilgilerini ayarlayın:
c.Header("X-Request-ID", requestID)
c.Header("Cache-Control", "max-age=3600")XML oluşturma
Gin ayrıca XML ve YAML yanıtlarını da destekler:
c.XML(200, user) // requires xml struct tags
c.YAML(200, user)Özel yanıt yapısı
Tüm uç noktalar arasında tutarlı bir biçim sağlamak için standart bir API yanıt kapsayıcısı tanımlayın:
type APIResponse struct {
Success bool `json:"success"`
Data any `json:"data,omitempty"`
Error string `json:"error,omitempty"`
}Hızlı Kontrol
c.AbortWithStatus, c.Status'tan farklı olarak ne yapar?
Özet: Yanıt Yardımcıları
Temel noktalar:
- c.JSON(statusCode, obj), temel JSON yanıt yöntemidir
- Açıklık için http.Status* sabitlerini kullanın
- c.AbortWithStatus, işleyici zincirini durdurur
- Tüm uç noktalar için tutarlı bir APIResponse kapsayıcısı tanımlayın
Sıkça Sorulan Sorular
“Yanıt Yardımcıları ve Durum Kodları” dersi ücretsiz mi?
Evet — “Yanıt Yardımcıları ve Durum Kodları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Go Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Go Academy kursu toplamda 4 dersten oluşur.
“Yanıt Yardımcıları ve Durum Kodları” dersinde ne öğreneceğim?
c.JSON, c.AbortWithError ve hata yanıtları Go Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Go Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Go Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Yanıt Yardımcıları ve Durum Kodları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Go Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Go Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Gin Yönlendiricisi ve Rota Grupları
- İstek Bağlama ve Doğrulama
- Yanıt Yardımcıları ve Durum Kodları
- Gin Ara Katmanı: Kimlik Doğrulama ve Günlükleme