İçeriğe geç

Rotalar & CRUD

Rotalar, API’nizin giriş noktalarıdır. Kaynağa göre gruplanırlar ve onları elle yazabilir ya da bir modelden üretebilirsiniz.

Rotalar bölümü: bir modelden üretilmiş bir CRUD rotaları grubu; yöntemleri, yolları ve yanıtlarıyla

Bir rota; bir yöntem, bir yol, parametreler ve yanıtlar taşır. Yol, Restorm’un {{param}} sözdizimini kullanır: yola {{id}} yazar yazmaz karşılık gelen parametre görünür; onu kaldırmak parametreyi de siler.

Bir rotanın Tanım sekmesi, parametrelerini listeler — yol parametreleri ({{param}} yer tutucularından oluşturulan) ve Parametre ekle ile eklediğiniz sorgu / başlık parametreleri. Her biri bir ad, bir konum (içinde), zorunlu olup olmadığı, bir açıklama ve isteğe bağlı olarak bir örnek taşır.

Tip hücresi bir bileşik kutudur: bir ilkel (string, integer, number, boolean) ya da tasarımın adlandırılmış enum’larından birini tek tıkla seçin. Daha zengin durumlar için, aşağıdakileri yapabileceğiniz küçük bir iletişim kutusu açmak üzere Advanced… seçeneğini seçin:

  • parametreyi bir dizi yapıp öğe tipini seçin (array<string>, …) — çok değerli bir sorgu parametresi;
  • adlandırılmış bir enum ile tiplenmediğinde ona satır içi enum değerleri verin (izin verilen küme, chip olarak listelenir);
  • Adlandırılmış enum’a çıkar — bu satır içi değerleri paylaşılan bir enum’a yükseltin (bkz. Modeller & enum’lar).

Bir parametre ayrıca bir model özelliğine bağlanabilir (Model bağlantısı sütunu) ve onun tipini miras alır, ya da kullanımdan kaldırılmış olarak işaretlenebilir. Her parametre — tipi, enum’u, kullanımdan kaldırılması — üretilen dokümantasyona ve her protokol izdüşümüne aktarılır.

Bir modelin ayarlarından, CRUD üret tek tıkla, modelin çoğulundan adlandırılmış, altı rotalı bir rota grubu oluşturur:

RotaYöntem & yolYanıtlar
ListeleGET / (sayfalı)200
GetirGET /{{id}}200 · 404
OluşturPOST /201
DeğiştirPUT /{{id}}200 · 404
GüncellePATCH /{{id}}200 · 404
SilDELETE /{{id}}204 · 404

Liste sayfalıdır (offset/decalage, varsayılan 20 öğe, en fazla 100). Her {{id}} otomatik olarak modelin kimliklendiricisine bağlanır.

CRUD üret iletişim kutusu iki seçenek sunar:

  • Mevcut rotaların yerine geç — yeniden ürettiğinizde çift kayıtları önlemek için.
  • Yazma rotalarını kimlik doğrulamayla koru — oluşturma, değiştirme, güncelleme ve silme o zaman bir jeton (bearer) gerektirir; okumalar ise açık kalır.

Ayrıca CRUD’ün her protokolde sunulduğunu hatırlatır: REST rotaları, GraphQL sorguları ve mutasyonları, gRPC yöntemleri, OData varlık kümesi ve SOAP işlemleri (bkz. Tasarımı mock olarak sunma).

searchable olarak işaretlenmiş her özellik için Arama rotalarını üret, modelin liste rotasına bağlı bir sorgu parametresi ekler (ve bu rota henüz yoksa onu oluşturur).

Kimlik doğrulama üç düzeyde ayarlanır: tasarımın bir varsayılan değeri, grup başına bir kimlik doğrulama zorunluluğu ve rota başına bir geçersiz kılma (varsayılan grubu miras alır). Kullanılabilir modlar: Yok, Bearer (JWT), API anahtarı (başlık) ve Basic.

Etiketler, rotaları dokümantasyon ve OpenAPI dışa aktarımı için gruplar. İki düzeyde bulunurlar: bir rota kendi etiketlerini taşır (Tanım sekmesi) ve bir grup, içerdiği her rotaya uygulanan paylaşılan etiketler taşır (ayarları). Bir rotanın etkin etiketleri, ikisinin birleşimidir — bu yüzden bir gruba özgü ortak bir etiket tercihen grubun üzerinde bir kez ayarlanır. İçe aktarılmış bir API’yi tasarıma dönüştürdüğünüzde, bir grubun tüm rotalarında bulunan bir etiket otomatik olarak gruba yükseltilir.

Bir rota (bir özellik ya da bir parametre gibi) Ayarlarından kullanımdan kaldırılmış olarak işaretlenebilir. Kullanımdan kaldırılmış bir rota, Rotalar listesinde ve üretilen istemcilerde soluk görünür ve sekmesinde bir kullanımdan kaldırma bildirimi taşır. Bayrak, her protokol izdüşümüne aktarılır — OpenAPI’nin deprecated’i, GraphQL’in @deprecated yönergesi, SOAP ve gRPC tanımlayıcıları ve OData meta verileri — böylece sunulan herhangi bir protokolün tüketicileri onu görür.