ServiceStack Request DTO Design
Reka bentuk API ServiceStack berbeza dengan ketara daripada pendekatan WCF dan API Web. Ia menekankan perkhidmatan berasaskan mesej di mana keseluruhan pertanyaan ditangkap dalam DTO Permintaan dan bukannya tandatangan kaedah pelayan.
Menggabungkan Panggilan RPC
ServiceStack membenarkan berbilang panggilan RPC ke dipenuhi oleh satu mesej jauh dan pelaksanaan perkhidmatan. Sebagai contoh, satu perkhidmatan boleh mengendalikan mencari pelanggan melalui ID, nama pengguna atau e-mel.
Reka Bentuk Berasaskan Mesej lwn. RPC
Dalam ServiceStack, DTO Permintaan mewakili intipati permintaan dan menangkap semua maklumat yang berkaitan. Ini berbeza daripada perkhidmatan RPC seperti WCF dan API Web, di mana parameter kaedah menentukan permintaan.
Memisahkan Semantik Panggilan dan Jenis Respons
Perkhidmatan dikumpulkan berdasarkan semantik panggilan ( penapisan lwn. menggabungkan) dan jenis tindak balas (tunggal lwn. berbilang). Ini membolehkan reka bentuk API yang bersih dan konsisten.
Membezakan Operasi Perkhidmatan daripada Jenis
Operasi perkhidmatan (Permintaan DTO) ialah tindakan (kata kerja), manakala jenis DTO yang dikembalikan ialah entiti (kata nama). Pastikan ia berasingan untuk mengekalkan kejelasan.
Mengembalikan Respons Generik
API baharu ServiceStack menghapuskan keperluan untuk sifat ResponseStatus dalam respons. DTO ErrorResponse Generik akan dibuang apabila sesuai.
Mengekalkan Tatanama Konsisten
Tempah kata kerja "Dapatkan" untuk perkhidmatan yang membuat pertanyaan pada medan unik. Gunakan "Cari" atau "Cari" untuk perkhidmatan yang menapis dan mengembalikan berbilang hasil.
Kontrak Perkhidmatan Menggambarkan Diri
Gunakan nama medan deskriptif dalam DTO Permintaan anda untuk membuat API anda lebih mendokumentasikan diri.
Perkhidmatan Pelaksanaan
Perkhidmatan boleh dianotasi dengan [Authenticate] untuk mendapatkan kebenaran. Pengesahan Fasih boleh digunakan untuk pengesahan input dengan mendaftarkan pengesah dalam AppHost.
Pengendalian dan Pengesahan Ralat
Pengecualian atau Pengesahan Fasih boleh digunakan untuk pengendalian ralat. Pengesah bukan invasif dan boleh ditambah dalam pendekatan berlapis tanpa mengubah suai pelaksanaan perkhidmatan atau kelas DTO.
Atas ialah kandungan terperinci Bagaimanakah Reka Bentuk DTO Permintaan ServiceStack Berbeza daripada Pendekatan WCF dan API Web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!