Web ve HTTP
Kontrolcü ve Rota
kontrolcü, rota ve HTTP yardımcıları.
kontrolcü ve rota soyutlamaları Kestrel üzerinde gerçek TCP dinleyebilir (varsayılan http://127.0.0.1:5080). ASP.NET sözdizimi yoktur.
Kontrolcü ve rota soyutlamaları Kestrel üzerinde gerçek TCP dinleyebilir (varsayılan http://127.0.0.1:5080; US_URLS / US_PORT). ASP.NET sözdizimi US kaynağına sızmaz.
İlgili konular
HTTP İstemcisi · Derleyici Uyumluluğu
Referans
Bu sayfa 10 katalog öğesini kapsar. Aşağıdaki maddeler language-spec, örnekler ve katalog alanlarından üretilmiştir.
tamam
Nedir?
tamam kontrolcü rotasında HTTP 200 OK yanıt yardımcısıdır. İsteğe bağlı gövde alır; durum kodunu koruyan sonuç üretir.
Ne zaman kullanılır?
Başarılı rota dönüşünde açık 200 döndürmek.
Parametreler ve dönüş
=\> tamam(gövde?) — gövde isteğe bağlı (dinamik). Dönüş HTTP sonuç nesnesidir (200). Katalogda derleyici PARTIAL; tamam 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
- Model düz dönüşü de JSON 200 olabilir;
tamamdurumu açıkça sabitler. ~/ birim dönüş 204 sayılır —içerikYokile karıştırmayın.
İlgili konular
oluşturuldu
Nedir?
oluşturuldu kontrolcü dönüşünde HTTP 201 Created yardımcısıdır. İsteğe bağlı gövde alabilir.
Ne zaman kullanılır?
Kaynak oluşturulduktan sonra 201 dönmek.
Parametreler ve dönüş
=\> oluşturuldu(gövde?) — durum 201. Derleyici yüzeyi PARTIAL.
Kullanım
=> oluşturuldu(kayıt)Basit örnek
kontrolcü K : "/k"{ rota POST "/" fonksiyon ekle(): nesne { => oluşturuldu("yeni") }}Dikkat edilmesi gerekenler
- 201 Created; 200 için
tamam.
içerikYok
Nedir?
içerikYok kontrolcü dönüşünde HTTP 204 No Content yardımcısıdır. Gövde almaz; boş başarılı yanıt üretir.
Ne zaman kullanılır?
Başarılı ama gövdesiz yanıt (silme sonrası vb.).
Parametreler ve dönüş
=\> içerikYok — durum 204, gövde yok. ~ veya birim dönüş de 204 sayılabilir.
Kullanım
=> içerikYokBasit örnek
kontrolcü K : "/k"{ rota DELETE "/{id}" fonksiyon sil(id: tamsayı): nesne { => içerikYok }}Dikkat edilmesi gerekenler
- Gövde parametresi yoktur.
- Ad yazımı
içerikYok(Y büyük).
hatalıİstek
Nedir?
hatalıİstek kontrolcü dönüşünde HTTP 400 Bad Request yardımcısıdır. İsteğe bağlı gövde alabilir.
Ne zaman kullanılır?
Geçersiz istemci isteğini 400 ile işaretlemek.
Parametreler ve dönüş
=\> hatalıİstek(gövde?) — durum 400.
Kullanım
=> hatalıİstek("geçersiz")Basit örnek
kontrolcü K : "/k"{ rota POST "/" fonksiyon ekle(): nesne { => hatalıİstek("eksik alan") }}Dikkat edilmesi gerekenler
- Ad yazımı
hatalıİstek(İ büyük).
yetkisiz
Nedir?
yetkisiz kontrolcü dönüşünde HTTP 401 Unauthorized yardımcısıdır. İsteğe bağlı gövde alabilir.
Ne zaman kullanılır?
Kimlik doğrulama gerekli veya başarısız olduğunda 401 dönmek.
Parametreler ve dönüş
=\> yetkisiz(gövde?) — durum 401.
Kullanım
=> yetkisiz()Basit örnek
kontrolcü K : "/k"{ rota GET "/gizli" fonksiyon gizli(): nesne { => yetkisiz() }}Dikkat edilmesi gerekenler
- 401 Unauthorized; 403 için
yasak.
yasak
Nedir?
yasak kontrolcü dönüşünde HTTP 403 Forbidden yardımcısıdır. İsteğe bağlı gövde alabilir.
Ne zaman kullanılır?
Yetki yokken 403 dönmek.
Parametreler ve dönüş
=\> yasak(gövde?) — durum 403.
Kullanım
=> yasak()Basit örnek
kontrolcü K : "/k"{ rota GET "/yonetim" fonksiyon yonetim(): nesne { => yasak() }}Dikkat edilmesi gerekenler
- 403 Forbidden; 401 için
yetkisiz.
bulunamadı
Nedir?
bulunamadı kontrolcü dönüşünde HTTP 404 Not Found yardımcısıdır. İsteğe bağlı gövde alabilir.
Ne zaman kullanılır?
Kayıt veya kaynak yokken 404 dönmek.
Parametreler ve dönüş
=\> bulunamadı(gövde?) — durum 404. Eşleşmeyen yol da çerçeve düzeyinde 404 olabilir.
Kullanım
=> bulunamadı()Basit örnek
kontrolcü K : "/k"{ rota GET "/{id}" fonksiyon bul(id: tamsayı): nesne { => bulunamadı() }}Dikkat edilmesi gerekenler
- Açık 404; otomatik rota eşleşmemesinden ayrı yardımcıdır.
çakışma
Nedir?
çakışma kontrolcü dönüşünde HTTP 409 Conflict yardımcısıdır. İsteğe bağlı gövde alabilir.
Ne zaman kullanılır?
Çakışan durum veya yinelenen kaynak için 409 dönmek.
Parametreler ve dönüş
=\> çakışma(gövde?) — durum 409.
Kullanım
=> çakışma("zaten var")Basit örnek
kontrolcü K : "/k"{ rota POST "/" fonksiyon ekle(): nesne { => çakışma("zaten var") }}Dikkat edilmesi gerekenler
- Ad yazımı
çakışma(ç küçük, ş korunur). - Derleyici yüzeyi PARTIAL.
'kontrolcü' / 'rota'
Nedir?
kontrolcü taban yolu ile bildirilir. rota hemen ardından gelen fonksiyona aittir; rota ile fonksiyon ayrı bildirimlerdir. Fiiller: GET POST PUT PATCH DELETE.
Sözdizimi
kontrolcü KullanıcıKontrolcü : "/kullanicilar"{ bağla servis: KullanıcıServisi rota GET "/{id}" afonksiyon bul(id: tamsayı): Kullanıcı? { => bekle servis.bul(id) }}Basit örnek
kontrolcü KullanıcıKontrolcü : "/kullanicilar" { rota GET "/{id}" afonksiyon bul(id: tamsayı): Kullanıcı? { => bekle servis.bul(id) } rota POST "/" afonksiyon ekle(kullanıcı: Kullanıcı): Kullanıcı { => bekle servis.ekle(kullanıcı) }}Dikkat edilmesi gerekenler
- Bilinmeyen fiil US0866; yinelenen rota US0868; belirsiz rota US0869.
- Yol case-sensitive; sondaki
/kök dışında düşürülür. - Hatalı rota değeri US1552; boş başlık US0867; desteklenmeyen içerik US1553.
- HTTP yardımcıları:
tamam,oluşturuldu,içerikYok, …
İlgili konular
Kestrel / gerçek dinleyici
Nedir?
v0.2.0 gerçek Kestrel dinleyicisi (Us.Hosting) sunar. Derlenmiş rota tablosu gerçek TCP üzerinde dinler. Varsayılan yerel adres http://127.0.0.1:5080. Yapılandırma: US_URLS, US_PORT. US kaynağında ASP.NET controller sözdizimi yoktur; kontrolcü / rota kalır.
Ne zaman kullanılır?
Derlenmiş web uygulamasını gerçek HTTP ile sunarken.
Parametreler ve dönüş
us derle sonrası çalışan uygulama Kestrel dinler. Rota eşleme, istek/yanıt adapter’ı, DI kapsam yalıtımı, 404/405 ve geçersiz istek/medya (ör. US1552/US1553) US semantiğine göre işlenir. Desteklenen yöntemler: GET, POST, PUT, PATCH, DELETE.
Dikkat edilmesi gerekenler
- ASP.NET middleware ekosistemi US sözdizimine sızmaz.
- HTTPS/sertifika kolaylığı bu sürümde deferred olabilir.
- Route-parametre + bazı Memory DB
filtreleyakalama yolları kabul örneği dışı sınırlar taşıyabilir.