Sunucu Yanıtı ve Veri Türleri
Yanıt bileşenleri. Durum kodları. Temel veri türleri
Sunucudan gelen Yanıt, İstek ile neredeyse aynı şemaya göre çalışır. Açık nedenlerden dolayı, istek parametresi yoktur, ancak Başlıklar ve Gövde cevaba dahil edilmiştir (boş olsalar da).
Önemli bir fark, yanıtın durumudur.
Durum Kodları
Durum kodu . Sunucu yanıtının ilk satırında gelir. Durum, üç basamaklı bir sayıdır (kodun kendisi), ardından onu açıklayan bir ifade gelir.
İsteğin sonuçları hakkında bilgi edinebileceğiniz ve daha sonra hangi işlemlerin yapılması gerektiğini anlayabileceğiniz durum kodudur.
Tüm olası durum kodları 5 sınıfa ayrılmıştır. Kodun ilk basamağı belirli bir sınıfa ait olduğunu belirler. Hadi onları parçalayalım.
1xx — bilgi kodları. İsteğin ilerleme durumunu bildirin. Gerçek uygulamada, nadiren kullanılırlar.
2xx — başarı kodları. Her şeyin yolunda olduğunu ve talebin başarıyla tamamlandığını bildirdiler. Bir GET isteğine yanıt olarak, genellikle 200 (OK) kodu almayı bekleriz. Başarılı bir PUT isteği, bir 201 (Oluşturuldu) kodu gönderir.
3xx - yönlendirmeler. İsteğin farklı bir adrese gönderilmesi gerektiğini belirtin. Bir örnek kod 301'dir (Kalıcı Olarak Taşınır), gerekli verilerin artık yeni bir adreste olduğunu gösterir (yeni adresin kendisi Konum başlığında iletilir).
4xx — istemci hata kodları. Bunların en ünlüsü - 404 (Bulunamadı), belirtilen adreste gerekli veri olmadığını bildiriyor. Diğer yaygın durumlar: 400 (Kötü İstek, istekte sözdizimi hatası), 401 (Yetkisiz, erişim için kimlik doğrulama gerekli), 403 (Yasak, erişim reddedildi).
5xx — sunucu hata kodları. Sunucu tarafında bir hata bildirin. Örnek olarak: 500 (Dahili Sunucu Hatası, bilinen kodla ilişkilendirilemeyen herhangi bir anlaşılmaz hata), 503 (Hizmet Kullanılamıyor, sunucu teknik nedenlerle geçici olarak isteği işleyemiyor)
Veri tipleri
Bu noktada, REST API ve HTTP istek ve yanıtlarının yapısını anlamak için temel bilgileri ele aldığımızı varsayabiliriz. Sadece bir noktayı netleştirmek için kalır - veri türleri. API isteğinizi AppMaster'da zaten oluşturmayı denediyseniz, muhtemelen tüm verilerin (parametrelerde, başlıklarda, gövdede) sizden yalnızca adı değil aynı zamanda veri türünü de belirtmenizi istediğini fark etmişsinizdir.
Belirli bir bağlam olduğu için, genellikle bir insan için verilerle nasıl çalışılacağı oldukça açıktır. 2 + 2 = 4 olduğunu bildiğimizi varsayalım. Bunların sayı olduğunu ve toplama işleminin sonucunun başka bir sayı olacağını tahmin ediyoruz.
Ancak sayılar değil, metinsel veriler olabilir. Daha sonra bunların eklenmesinin sonucu dizilerin birleşmesi olabilir ve 2 + 2 "22"ye dönüşür. Burada, bilgisayarın hiçbir şey düşünmesine gerek kalmaması için, veri türünün kesin bir göstergesi vardır. Ve aynı zamanda, diğer görevler çözülüyor. Örneğin, yanlış veri girilmesine karşı koruma sağlanır; başlangıçta, bir telefon numarasının numaralarını girmek için tasarlanan alana bir e-posta adresi kaydetme imkanı yoktur.
Oldukça fazla farklı veri türü var, şimdi en temel olanları ele alacağız ve kursun sonraki modüllerinde geri kalanıyla tanışacağız.
Dize — Dize veri türü, özel biçimlendirme içermeyen düz metin.
Tamsayı — Tamsayı veri türü. Kesirli sayıların gerekli olmadığı sayaçlar veya hesaplamalar için kullanılabilir
Float — Kayan nokta numarası. Arttırılmış hassasiyetin gerekli olduğu ve tamsayı değerlerinin yeterli olmadığı durumlarda kullanılır.
Burada mantıklı bir soru ortaya çıkabilir. Ve neden her zaman Float kullanmıyorsunuz, o zaman neden Integer'a ihtiyacımız var? Ancak daha fazla doğruluk, daha fazla kaynak gerektirir. Bazı küçük hesaplamalar için bu tamamen görünmez olabilir, ancak büyük miktarda veri olması durumunda, makul bir veri türü kullanmak, bilgi işlem gücü ve disk alanı gereksinimlerini önemli ölçüde azaltabilir.
Boolean — boolean veri türü. En basit veri türü. True veya False olarak yazılan iki değerden birini alır. Tanımlamayı genellikle 1 (doğru) ve 0 (yanlış) şeklinde görebilirsiniz.