Web ve HTTP
HTTP İstemcisi
http.GET/POST/… ve .json().
HTTP istemcisi bekle http.GET/POST/PUT/PATCH/DELETE ve http.başlık zinciri kullanır. Yanıt gövdesi .json() ile bağlanır.
Fiil adları İngilizce kalır. Taşıma hataları RUNTIME’dır.
İlgili konular
Kontrolcü ve Rota · JSON · Async Fonksiyonlar
Referans
Bu sayfa 9 katalog öğesini kapsar. Aşağıdaki maddeler language-spec, örnekler ve katalog alanlarından üretilmiştir.
http.GET
Nedir?
http.GET giden HTTP GET isteğidir. Fiil adı İngilizce kalır. Yanıt gövdesi .json() ile bağlanabilir. bekle ile eşzamansızdır.
Ne zaman kullanılır?
Uzak URL’den kaynak almak.
Parametreler ve dönüş
bekle http.GET(url) → yanıt; tipik kullanım bekle http.GET(url).json(). Taşıma IHttpTransport arkasındadır; testte FakeHttpTransport. RUNTIME: kayıtsız yol US1534, taşıma hataları çalışma zamanı.
Kullanım
kullanıcı: Kullanıcı = bekle http.GET(url).json()Basit örnek
model Kullanıcı { ad: metin }kullanıcı: Kullanıcı = bekle http.GET("https://ornek/a").json()syaz kullanıcı.adÇıktı
Ali
Dikkat edilmesi gerekenler
- Fiil adı
GETİngilizce kalır. - Üst düzey veya
afonksiyoniçindebeklegerekir. - Derleyici outbound SUPPORTED.
İlgili konular
http.POST
Nedir?
http.POST giden HTTP POST isteğidir. Gövde isteğe bağlıdır; yanıt .json() ile bağlanabilir.
Ne zaman kullanılır?
Uzak kaynağa gövde gönderip oluşturmak veya işlemek.
Parametreler ve dönüş
bekle http.POST(url, gövde?).json() — bekle zorunlu. Taşıma hataları RUNTIME.
Kullanım
sonuç: Kullanıcı = bekle http.POST(url, kullanıcı).json()Basit örnek
model Kullanıcı { ad: metin }k: Kullanıcı = @Kullanıcı { ad = "Ali" }sonuç: Kullanıcı = bekle http.POST("https://ornek/a", k).json()syaz sonuç.adDikkat edilmesi gerekenler
- Gövde isteğe bağlı (
dinamik). - Derleyici SUPPORTED.
İlgili konular
http.PUT
Nedir?
http.PUT giden HTTP PUT isteğidir. Fiil İngilizce PUT kalır; gövde isteğe bağlıdır.
Ne zaman kullanılır?
Uzak kaynağı değiştirmek veya yerleştirmek.
Parametreler ve dönüş
bekle http.PUT(url, gövde?) — async bekle. .json() yanıt bağlar.
Kullanım
bekle http.PUT(url, gövde).json()Basit örnek
model Yanıt { ok: mantıksal }y: Yanıt = bekle http.PUT("https://ornek/p", @Yanıt { ok = doğru }).json()syaz "{y.ok}"Dikkat edilmesi gerekenler
- Taşıma hataları RUNTIME.
- Derleyici SUPPORTED.
http.PATCH
Nedir?
http.PATCH giden HTTP PATCH isteğidir. Kısmi güncelleme için kullanılır; gövde isteğe bağlıdır.
Ne zaman kullanılır?
Uzak kaynağın bir kısmını güncellemek.
Parametreler ve dönüş
bekle http.PATCH(url, gövde?) — bekle ile. Yanıt .json().
Kullanım
bekle http.PATCH(url, gövde).json()Basit örnek
model Yanıt { ok: mantıksal }y: Yanıt = bekle http.PATCH("https://ornek/p").json()syaz "{y.ok}"Dikkat edilmesi gerekenler
- Fiil adı İngilizce
PATCH. - Derleyici SUPPORTED.
http.DELETE
Nedir?
http.DELETE giden HTTP DELETE isteğidir. URL alır; gövde parametresi yoktur.
Ne zaman kullanılır?
Uzak kaynağı silmek.
Parametreler ve dönüş
bekle http.DELETE(url) — gerekirse .json(). Taşıma RUNTIME hataları.
Kullanım
bekle http.DELETE(url)Basit örnek
bekle http.DELETE("https://ornek/a")syaz "ok"Çıktı
ok
Dikkat edilmesi gerekenler
- Fiil adı İngilizce
DELETE. - Derleyici SUPPORTED.
http.başlık
Nedir?
http.başlık(ad, değer) istek başlığı ekleyen builder zinciri başlatır. Sonraki .GET / .POST / … çağrısına bağlanır.
Ne zaman kullanılır?
Authorization veya özel başlıklarla giden istek.
Parametreler ve dönüş
http.başlık(ad, değer).GET(url) — builder döner; bekle fiil çağrısında. Boş başlık SEMANTIC US0867.
Kullanım
http.başlık("Authorization", "Bearer {token}").GET(url)Basit örnek
model Yanıt { ok: mantıksal }y: Yanıt = bekle http.başlık("X", "1").GET("https://ornek/p").json()syaz "{y.ok}"Çıktı
doğru
Dikkat edilmesi gerekenler
- Zincir builder’dır; yalnız başlık çağrısı isteği bitirmez.
- Derleyici SUPPORTED.
.json()
Nedir?
.json() HTTP yanıt gövdesini JSON olarak hedef tipe bağlar. Tipik biçim bekle http.GET(url).json().
Ne zaman kullanılır?
Giden istek yanıtını modele dönüştürmek.
Parametreler ve dönüş
Yanıt üzerinde .json() — JSON bağlama katı alan kurallarını kullanır (US1527/US1528/US1535/US1541). bekle ile birlikte.
Kullanım
kullanıcı: Kullanıcı = bekle http.GET(url).json()Basit örnek
model Kullanıcı { ad: metin }kullanıcı: Kullanıcı = bekle http.GET("https://ornek/a").json()syaz kullanıcı.adÇıktı
Ali
Dikkat edilmesi gerekenler
- Dosya
json.okudeğildir; yanıt gövdesi bağlar. - Derleyici SUPPORTED.
İlgili konular
HTTP yanıt yardımcıları
Nedir?
Kontrolcü dönüşünde durum kodu üreten yerleşikler: tamam (200), oluşturuldu (201), içerikYok (204), hatalıİstek (400), yetkisiz (401), yasak (403), bulunamadı (404), çakışma (409). Dönüş UsHttpResult olarak durum kodunu korur.
Ne zaman kullanılır?
Rota işleyicisinde açık HTTP durum kodu döndürmek.
Parametreler ve dönüş
tamam(gövde?), oluşturuldu(gövde?), … gövde isteğe bağlı (dinamik). içerikYok gövdesiz. Örnek: =\> tamam("ok"). Katalogda derleyici PARTIAL; tamam in-process rota parity’sinde doğrulanmıştır.
Kullanım
rota GET "/a"fonksiyon a(): nesne{ => tamam("ok")}Basit örnek
kontrolcü X : "/x"{ rota GET "/a" fonksiyon a(): nesne { => tamam("ok") }}Dikkat edilmesi gerekenler
~veya birim dönüş 204 sayılır; model dönüşü JSON 200 olabilir.- v0.2.0’da gerçek Kestrel dinleyicisi vardır; yanıt US rota/adapter üzerinden üretilir.
İlgili konular
HTTP istemci
Nedir?
Giden HTTP: http modülü IHttpTransport arkasındadır. v0.2.0’da gerçek HttpClient taşıması kullanılabilir; CI/test varsayılanı FakeHttpTransport kalabilir. Fiiller: GET, POST, PUT, PATCH, DELETE. Yanıt gövdesi .json() ile modele bağlanır.
Ne zaman kullanılır?
Uzak URL’den JSON almak veya göndermek (test haritası veya konak taşıması ile).
Parametreler ve dönüş
bekle http.GET(url).json(). bekle http.POST(url, gövde).json() — POST/PUT/PATCH gövde isteğe bağlı. http.başlık(ad, değer).GET(url) zinciri builder döndürür. Derleyici outbound http.* SUPPORTED (US_TEST_HTTP).
Kullanım
kullanıcı: Kullanıcı = bekle http.GET(url).json()sonuç: Kullanıcı = bekle http.POST(url, kullanıcı).json()http.başlık("Authorization", "Bearer {token}").GET(url)Geçerli örnek
model Yanıt { ok: mantıksal }y: Yanıt = bekle http.başlık("X", "1").GET("https://ornek/p").json()syaz "{y.ok}"Çıktı
doğru
Dikkat edilmesi gerekenler
- Gerçek ağ erişimi ortam/konak yapılandırmasına bağlıdır; her ortamda otomatik açık değildir.
- JSON bağlama aynı katı alan kurallarını kullanır.