Saat membuat titik akhir untuk proses bisnis, Anda harus menentukan jenis data yang akan dikirim dalam permintaan ini ( Request payload type ). Opsi yang paling umum adalah JSON ; ini memungkinkan Anda untuk dengan mudah menentukan semua parameter yang diperlukan dan meneruskan model data atau array objek. Selain itu, opsi lain dimungkinkan, misalnya, XML atau Multipart Form (jika Anda perlu mengirim file).

Pada saat yang sama, suatu situasi dapat diterima ketika struktur yang tepat tidak diketahui sebelumnya (atau tidak masalah). Dalam hal ini, opsi yang masuk akal adalah menggunakan kueri " raw ".

request payload type

Proses Bisnis untuk permintaan raw

Bayangkan situasi di mana ini mungkin diperlukan. Katakanlah layanan yang kami kembangkan hanyalah tautan penghubung. Tugasnya adalah menerima permintaan dari pengguna, memeriksa otorisasi, menyimpan log, melakukan perlindungan spam, dan mengarahkan permintaan lebih lanjut jika semuanya beres.

Fitur penting dari kueri Raw adalah tidak ada parameter input yang digunakan saat merancang proses bisnis. Sebagai gantinya, blok khusus digunakan untuk mendapatkan badan permintaan - Get Request Body . Misalkan Anda tertarik pada informasi tambahan tentang permintaan tersebut. Dalam hal ini, blok Current Request Info adalah opsi yang sesuai - tidak hanya mengembalikan badan permintaan tetapi juga parameter tambahan dan header permintaan.

Current Request Info

Dalam kasus ketika kami tertarik pada header tertentu dari permintaan, itu dapat diperoleh dengan menggunakan blok Get Request Header . Contoh di atas membaca header X-Real-IP , yang berisi alamat IP permintaan. IP yang dihasilkan diteruskan ke fungsi yang harus memeriksa bahwa IP yang diberikan valid dan tidak ada dalam daftar hitam alamat yang dilarang. Akibatnya, proses akan dibatalkan dengan pesan kesalahan yang sesuai atau, jika semuanya beres, eksekusi lebih lanjut akan diizinkan.

IP Check

Permintaan, diterima sebagai Raw , direpresentasikan sebagai larik byte. Untuk kenyamanan persepsi, itu dapat dikonversi ke string ( blok To String ); dalam formulir ini, informasi disimpan dalam log.

Dalam hal ini, permintaan itu sendiri, tanpa transformasi apa pun, dapat dialihkan lebih lanjut menggunakan blok HTTP Request . Dalam contoh ini, metode permintaan, URL-nya, dan badan permintaan (diperoleh dari blok Current Request Info ) ditentukan. Hasil dari blok HTTP Request digunakan sebagai hasil dari keseluruhan proses bisnis.

HTTP Request

Tangkapan layar menunjukkan proses bisnis akhir. Harap dicatat bahwa blok fungsi ( FUNC Save request Log dan FUNC IP Blacklist Check ) adalah contoh dan hanya ada dalam lingkup proyek ini.

BP Complete

Dengan demikian, titik akhir dapat digunakan untuk bekerja dengan permintaan apa pun, terlepas dari konten sebenarnya. Anda tidak perlu mengetahui persis permintaan yang harus dikirim ke layanan pihak ketiga, dan bahkan jika ada beberapa perubahan di dalamnya (menambahkan model, mengganti nama parameter), Anda dapat terus menggunakan titik akhir tanpa membuat perubahan pada proyek.

Was this article helpful?

AppMaster.io 101 Kursus kilat

10 Modul
2 Minggu

Tidak yakin harus mulai dari mana? Mulailah dengan kursus kilat kami untuk pemula dan jelajahi AppMaster dari A sampai Z.

Mulai Kursus
Development it’s so easy with AppMaster!

Butuh lebih banyak bantuan?

Selesaikan masalah apa pun dengan bantuan para ahli kami. Hemat waktu dan fokus untuk membangun aplikasi Anda.

headphones

Hubungi dukungan

Beritahu kami tentang masalah Anda, dan kami akan menemukan solusi untuk Anda.

message

Obrolan Komunitas

Diskusikan pertanyaan dengan pengguna lain di obrolan kami.

Bergabunglah dengan komunitas