REST di ASP.NET Core
- 3 menit
Saat Anda menelusuri halaman web, server web berkomunikasi dengan browser Anda dengan menggunakan HTML, CSS, dan JavaScript. Misalnya, Jika Anda berinteraksi dengan halaman dengan mengirimkan formulir masuk atau memilih tombol beli, browser akan mengirim informasi kembali ke server web.
Dengan cara yang mirip, server web dapat berkomunikasi dengan berbagai klien (browser, perangkat seluler, server web lainnya, dan banyak lagi) dengan menggunakan layanan web. Klien API berkomunikasi dengan server melalui HTTP, dan keduanya bertukar informasi dengan menggunakan format data seperti JSON atau XML. API sering digunakan dalam aplikasi halaman tunggal (SPAs) yang melakukan sebagian besar logika antarmuka pengguna di browser web. Komunikasi dengan server web terjadi utamanya melalui API web.
REST: Pola umum untuk membangun API dengan HTTP
Representational State Transfer (REST) adalah gaya arsitektur untuk membangun layanan web. Permintaan REST dibuat melalui HTTP. Mereka menggunakan kata kerja HTTP yang sama dengan yang digunakan browser web untuk mengambil halaman web dan kirimkan data ke server. Kata kerjanya adalah:
-
GET: Mengambil data dari layanan web. -
POST: Membuat item baru dari data pada layanan web. -
PUT: Memperbarui sebuah data di layanan web. -
PATCH: Perbarui item data di layanan web dengan menjelaskan set instruksi tentang bagaimana item tersebut harus dimodifikasi. Aplikasi contoh dalam modul ini tidak menggunakan kata kerja ini. -
DELETE: Menghapus sebuah item data pada layanan web.
API layanan web yang mematuhi REST disebut API RESTful. Penetapannya dilakukan melalui:
- URI dasar.
- Metode HTTP, seperti
GET,POST,PUT,PATCH, atauDELETE. - Jenis media untuk data tersebut, seperti JavaScript Object Notation (JSON) atau XML.
API sering kali perlu menyediakan layanan untuk beberapa hal yang berbeda tetapi terkait. Misalnya, API pizza kami mungkin mengelola pizza, pelanggan, dan pesanan. Kami menggunakan perutean untuk memetakan URI (pengidentifikasi sumber daya seragam) ke divisi logis dalam kode kami, sehingga permintaan untuk https://localhost:5000/pizza dirutekan ke PizzaController dan permintaan dirutekan https://localhost:5000/order ke OrderController.
Manfaat membuat API di ASP.NET Core
Dengan ASP.NET, Anda dapat menggunakan kerangka kerja dan pola yang sama untuk membangun halaman web dan layanan. Anda dapat menggunakan kembali kelas model dan logika validasi, dan bahkan melayani halaman web dan layanan secara berdampingan dalam proyek yang sama. Pendekatan ini memiliki banyak manfaat:
Serialisasi sederhana: ASP.NET dirancang untuk pengalaman web modern. Endpoint secara otomatis menserialisasikan kelas Anda ke JSON yang diformat dengan benar tanpa konfigurasi tambahan. Konfigurasi khusus tidaklah diperlukan. Anda dapat menyesuaikan serialisasi untuk titik akhir yang memiliki persyaratan unik.
Autentikasi dan otorisasi: Untuk keamanan, titik akhir API memiliki dukungan bawaan untuk JSON Web Token (JWT) standar industri. Otorisasi berbasis kebijakan memberi Anda fleksibilitas untuk menentukan aturan kontrol akses yang kuat dalam kode.
Perutean bersama kode Anda: ASP.NET memungkinkan Anda menentukan rute dan kata kerja sebaris dengan kode Anda, dengan menggunakan atribut. Data dari jalur permintaan, string kueri, dan isi permintaan secara otomatis terikat ke parameter metode.
HTTPS secara default: HTTPS adalah bagian penting dari API web yang profesional dan modern. HTTPS bergantung pada enkripsi end-to-end untuk memberikan privasi dan untuk membantu memastikan bahwa panggilan API Anda tidak disadap dan diubah antara klien dan server.
ASP.NET menyediakan dukungan untuk HTTPS secara langsung. Ini secara otomatis menghasilkan sertifikat pengujian dan dengan mudah mengimpornya untuk mengaktifkan HTTPS lokal, sehingga Anda dapat menjalankan dan men-debug aplikasi Anda dengan aman sebelum Anda menerbitkannya.
Berbagi kode dan pengetahuan dengan aplikasi .NET
Anda dapat menggunakan keterampilan dan ekosistem .NET untuk berbagi logika dari API web Anda ke aplikasi lain yang dibangun dengan .NET, termasuk seluler, web, desktop, dan layanan.
Menguji API web dengan menggunakan REPL HTTP .NET
Saat mengembangkan situs web tradisional, Anda biasanya melihat dan menguji pekerjaan Anda di browser web. API web menerima dan mengembalikan data dan bukanlah HTML, sehingga browser web bukanlah alat penguji API web terbaik.
Salah satu opsi termudah untuk menjelajahi dan berinteraksi dengan API web adalah .NET HTTP REPL (read-evaluate-print loop). Ini adalah cara sederhana dan populer untuk membangun lingkungan baris perintah interaktif. Di unit berikutnya, Anda membuat API web sederhana dan kemudian berinteraksi dengannya dengan menggunakan REPL HTTP .NET.