Lewati ke konten

Rute & CRUD

Rute adalah titik masuk API Anda. Rute dikelompokkan menurut sumber daya, dan Anda dapat menuliskannya secara manual atau menghasilkannya dari sebuah model.

Bagian Rute: sekelompok rute CRUD yang dihasilkan dari sebuah model, beserta metode, jalur, dan responsnya

Sebuah rute membawa sebuah metode, sebuah jalur, parameter, dan respons. Jalur menggunakan sintaks {{param}} dari Restorm: begitu Anda mengetik {{id}} di jalur, parameter yang sesuai muncul; menghapusnya akan menghapus parameter tersebut.

Tab Definisi sebuah rute menampilkan parameternya — parameter jalur (dibuat dari placeholder {{param}}) dan parameter kueri / header yang Anda tambahkan dengan Tambah parameter. Masing-masing membawa sebuah nama, sebuah lokasi (in), status wajib-nya, sebuah deskripsi dan, secara opsional, sebuah contoh.

Sel Tipe adalah sebuah combo: pilih sebuah primitif (string, integer, number, boolean) atau salah satu enum bernama desain dalam satu klik. Untuk kasus yang lebih kaya, pilih Advanced… untuk membuka sebuah kotak dialog kecil tempat Anda dapat:

  • menjadikan parameter sebuah array dan memilih tipe elemen-nya (array<string>, …) — sebuah parameter kueri multinilai;
  • memberinya nilai enum inline (kumpulan yang diizinkan, ditampilkan sebagai chip) ketika ia tidak bertipe enum bernama;
  • Ekstrak ke enum bernama — mempromosikan nilai inline tersebut menjadi enum bersama (lihat Model & enum).

Sebuah parameter juga dapat dihubungkan ke sebuah properti model (kolom Tautan model), sehingga mewarisi tipenya, atau ditandai usang. Setiap parameter — tipenya, enumnya, keusangannya — akan muncul dalam dokumentasi yang dihasilkan dan dalam setiap proyeksi protokol.

Dari pengaturan sebuah model, Hasilkan CRUD membuat dalam satu klik sebuah kelompok rute yang dinamai menurut bentuk jamak model, dengan enam rute:

RuteMetode & jalurRespons
DaftarGET / (berpaginasi)200
AmbilGET /{{id}}200 · 404
BuatPOST /201
GantiPUT /{{id}}200 · 404
PerbaruiPATCH /{{id}}200 · 404
HapusDELETE /{{id}}204 · 404

Daftarnya berpaginasi (offset, 20 elemen secara bawaan, maksimum 100). Setiap {{id}} secara otomatis dihubungkan ke pengenal model.

Kotak dialog Hasilkan CRUD menawarkan dua opsi:

  • Ganti rute yang sudah ada — untuk menghindari duplikat jika Anda menghasilkan ulang.
  • Lindungi rute tulis dengan autentikasi — pembuatan, penggantian, pembaruan, dan penghapusan akan memerlukan sebuah token (bearer), sedangkan operasi baca tetap publik.

Ia juga mengingatkan bahwa CRUD disajikan di setiap protokol: rute REST, kueri dan mutasi GraphQL, metode gRPC, kumpulan entitas OData, dan operasi SOAP (lihat Menyajikan desain sebagai mock).

Untuk setiap properti yang ditandai searchable, Hasilkan rute pencarian menambahkan sebuah parameter kueri yang dihubungkan ke rute daftar model (dan membuat rute tersebut jika belum ada).

Autentikasi diatur pada tiga tingkat: sebuah nilai bawaan desain, sebuah autentikasi wajib per kelompok, dan sebuah penggantian per rute (yang mewarisi dari bawaan kelompok). Mode yang tersedia adalah Tidak ada, Bearer (JWT), Kunci API (header), dan Basic.

Tag mengelompokkan rute untuk dokumentasi dan ekspor OpenAPI. Tag hidup di dua tingkat: sebuah rute membawa tag miliknya sendiri (tab Definisi-nya), dan sebuah kelompok membawa tag bersama (pengaturannya) yang diterapkan ke setiap rute yang dimilikinya. Tag efektif sebuah rute adalah gabungan dari keduanya — jadi sebuah tag yang umum bagi seluruh kelompok sebaiknya diletakkan sekali saja pada kelompok tersebut. Ketika Anda mengubah sebuah API yang diimpor menjadi sebuah desain, sebuah tag yang dibagi oleh setiap rute dalam sebuah kelompok akan otomatis diangkat ke kelompok tersebut.

Sebuah rute (seperti sebuah properti atau parameter) dapat ditandai usang dari Pengaturan-nya. Sebuah rute yang usang tampil redup dalam daftar Rute dan dalam klien yang dihasilkan, serta membawa sebuah peringatan keusangan pada tabnya. Penanda ini menyebar ke setiap proyeksi protokol — deprecated milik OpenAPI, direktif @deprecated milik GraphQL, deskriptor SOAP dan gRPC, serta metadata OData — agar konsumen dari protokol apa pun yang disajikan melihatnya.