Tutorial RESTful Web Services: Apa itu REST API beserta Contohnya
Apa itu Layanan Web Tenang?
Layanan Web yang Tenang adalah layanan yang ringan, mudah dirawat, dan dapat diskalakan yang dibangun pada arsitektur REST. Layanan Web Restful, memaparkan API dari aplikasi Anda dengan cara yang aman, seragam, dan tanpa status kepada klien yang memanggil. Klien yang memanggil dapat melakukan operasi yang telah ditetapkan sebelumnya menggunakan layanan Restful. Protokol dasar untuk REST adalah HTTP. REST adalah singkatan dari REpresentational State Transfer.
Elemen Kunci yang Tenang
Layanan REST Web telah berkembang pesat sejak awal. Pada tahun 2002, konsorsium Web telah merilis definisi layanan web WSDL dan SOAP. Ini membentuk standar bagaimana layanan web diimplementasikan.
Pada tahun 2004, konsorsium web juga merilis definisi standar tambahan yang disebut RESTful. Selama beberapa tahun terakhir, standar ini menjadi cukup populer. Dan sedang digunakan oleh banyak situs web populer di seluruh dunia termasuk Facebook dan Twitter.
REST adalah cara untuk mengakses sumber daya yang terletak di lingkungan tertentu. Misalnya, Anda dapat memiliki server yang dapat menampung dokumen, gambar, atau video penting. Semua ini adalah contoh sumber daya. Jika klien, misalnya browser web memerlukan salah satu sumber daya ini, ia harus mengirimkan permintaan ke server untuk mengakses sumber daya ini. Sekarang layanan REST menentukan cara bagaimana sumber daya ini dapat diakses.
Elemen kunci dari implementasi RESTful adalah sebagai berikut:
- Sumber daya – Elemen kunci pertama adalah sumber daya itu sendiri. Anggaplah aplikasi web di server memiliki catatan beberapa karyawan. Anggap saja URL aplikasi web tersebut https://demo.guru99.com. Sekarang untuk mengakses sumber catatan karyawan melalui layanan REST, seseorang dapat mengeluarkan perintah https://demo.guru99.com/employee/1 – Perintah ini memberitahu server web untuk memberikan rincian karyawan yang nomor karyawannya 1.
- Permintaan Kata Kerja – Ini menjelaskan apa yang ingin Anda lakukan dengan sumber daya. Browser mengeluarkan kata kerja GET untuk menginstruksikan titik akhir yang diinginkannya untuk mendapatkan data. Namun, ada banyak kata kerja lain yang tersedia termasuk POST, PUT, dan DELETE. Jadi dalam contoh ini https://demo.guru99.com/employee/1 , peramban web sebenarnya mengeluarkan Kata Kerja GET karena ingin mendapatkan detail catatan karyawan.
- Tajuk Permintaan – Ini adalah instruksi tambahan yang dikirim bersama permintaan. Ini mungkin menentukan jenis respons yang diperlukan atau detail otorisasi.
- Badan Permintaan – Data dikirim bersama permintaan. Data biasanya dikirim dalam permintaan saat permintaan POST dibuat ke layanan web REST. Dalam panggilan POST, klien sebenarnya memberi tahu layanan web REST bahwa ia ingin menambahkan sumber daya ke server. Oleh karena itu, isi permintaan akan berisi detail sumber daya yang harus ditambahkan ke server.
- Badan Respon – Ini adalah bagian utama dari respons. Jadi dalam contoh RESTful API kami, jika kami menanyakan server web melalui permintaan https://demo.guru99.com/employee/1 , server web mungkin mengembalikan dokumen XML dengan semua detail karyawan di Badan Respons.
- Kode Status Respons – Kode-kode ini adalah kode umum yang dikembalikan bersama dengan respon dari server web. Contohnya adalah kode 200 yang biasanya dikembalikan jika tidak ada kesalahan saat mengembalikan respon ke klien.
Metode Tenang
Diagram di bawah ini menunjukkan sebagian besar kata kerja (POST, GET, PUT, dan DELETE) dan contoh REST API tentang artinya.
Mari kita asumsikan bahwa kita memiliki layanan web RESTful yang ditentukan di lokasi. https://demo.guru99.com/employee . Saat klien membuat permintaan apa pun ke layanan web ini, klien dapat menentukan kata kerja HTTP normal mana pun dari GET, POST, DELETE, dan PUT. Di bawah ini adalah apa yang akan terjadi jika masing-masing kata kerja dikirim oleh klien.
- POST – Ini akan digunakan untuk membuat karyawan baru menggunakan layanan web RESTful
- DAPATKAN – Ini akan digunakan untuk mendapatkan daftar semua karyawan yang menggunakan layanan web RESTful
- PUT – Ini akan digunakan untuk memperbarui semua karyawan yang menggunakan layanan web RESTful
- DELETE – Ini akan digunakan untuk menghapus semua karyawan yang menggunakan layanan RESTful
Mari kita lihat dari sudut pandang satu rekaman saja. Katakanlah ada catatan karyawan dengan nomor karyawan 1.
Tindakan berikut akan memiliki maknanya masing-masing.
- POST – Ini tidak berlaku karena kita mengambil data karyawan 1 yang sudah dibuat.
- DAPATKAN – Ini akan digunakan untuk mendapatkan detail karyawan dengan nomor Karyawan sebagai 1 menggunakan layanan web RESTful
- PUT – Ini akan digunakan untuk memperbarui rincian karyawan dengan nomor Karyawan sebagai 1 menggunakan layanan web RESTful
- DELETE – Ini digunakan untuk menghapus detail karyawan dengan nomor Karyawan sebagai 1
Mengapa Tenang
Restful sebagian besar menjadi populer karena alasan-alasan berikut:
1. Bahasa dan lingkungan yang heterogen – Ini adalah salah satu alasan mendasar yang sama seperti yang telah kita lihat SOAP juga.
- Hal ini memungkinkan aplikasi web yang dibangun pada berbagai bahasa pemrograman untuk berkomunikasi satu sama lain
- Dengan bantuan layanan Restful, aplikasi web ini dapat berada di lingkungan yang berbeda, beberapa mungkin aktif Windows, dan lainnya mungkin menggunakan Linux.
Namun pada akhirnya, apapun lingkungannya, hasil akhirnya harus selalu sama yaitu mereka harus bisa berbicara satu sama lain. Layanan web yang tenang menawarkan fleksibilitas ini pada aplikasi yang dibangun pada berbagai bahasa pemrograman dan platform untuk berkomunikasi satu sama lain.
Gambar di bawah ini memberikan contoh aplikasi web yang memiliki persyaratan untuk berkomunikasi dengan aplikasi lain seperti Facebook, Twitter, dan Google.
Sekarang jika aplikasi klien harus bekerja dengan situs seperti Facebook, Twitter, dll. mereka mungkin harus mengetahui bahasa apa yang digunakan Facebook, Google, dan Twitter, dan juga pada platform apa aplikasi tersebut dibuat.
Berdasarkan hal ini, kita dapat menulis kode antarmuka untuk aplikasi web kita, namun hal ini bisa menjadi mimpi buruk.
Facebook, Twitter, dan Google memaparkan fungsinya dalam bentuk layanan web Restful. Hal ini memungkinkan aplikasi klien apa pun untuk memanggil layanan web ini melalui REST.
2. Peristiwa Perangkat – Saat ini, semuanya perlu diperbaiki mobil perangkat, baik itu perangkat seluler, notebook, atau bahkan sistem mobil.
Dapatkah Anda bayangkan besarnya upaya untuk mencoba dan membuat kode aplikasi pada perangkat ini agar dapat berkomunikasi dengan aplikasi web normal? Sekali lagi, Restful API dapat membuat pekerjaan ini lebih sederhana karena seperti yang disebutkan pada poin nomor 1, Anda benar-benar tidak perlu mengetahui apa lapisan dasar perangkat tersebut.
3. Terakhir adalah peristiwa Cloud – Semuanya berpindah ke cloud. Aplikasi perlahan berpindah ke sistem berbasis cloud seperti di Azure or Amazon. Azure dan Amazon menyediakan banyak API berdasarkan arsitektur Restful. Oleh karena itu, aplikasi kini perlu dikembangkan sedemikian rupa sehingga kompatibel dengan Cloud. Jadi, karena semua arsitektur berbasis Cloud bekerja berdasarkan prinsip REST, maka lebih masuk akal jika layanan web diprogram pada arsitektur berbasis layanan REST untuk memanfaatkan layanan berbasis Cloud secara maksimal.
Tenang Architekstur
Aplikasi atau arsitektur yang dianggap RESTful atau bergaya REST memiliki karakteristik berikut
1. Status dan fungsionalitas dibagi menjadi sumber daya terdistribusi – Ini berarti bahwa setiap sumber daya harus dapat diakses melalui perintah HTTP normal GET, POST, PUT, atau DELETE. Jadi jika seseorang ingin mendapatkan file dari server, mereka harus bisa mengeluarkan permintaan GET dan mendapatkan file tersebut. Jika mereka ingin meletakkan file di server, mereka harus dapat mengeluarkan permintaan POST atau PUT. Dan terakhir, jika mereka ingin menghapus file dari server, mereka dapat mengeluarkan permintaan DELETE.
2. Arsitekturnya adalah klien/server, stateless, berlapis, dan mendukung caching
- Klien-server merupakan arsitektur umum di mana servernya dapat berupa server web yang menjadi hosting aplikasi, dan kliennya dapat berupa peramban web.
- Stateless berarti status aplikasi tidak dipertahankan di REST. Misalnya, jika Anda menghapus sumber daya dari server menggunakan perintah DELETE, Anda tidak dapat mengharapkan informasi penghapusan tersebut diteruskan ke permintaan berikutnya.
Untuk memastikan bahwa sumber daya dihapus, Anda perlu mengeluarkan permintaan GET. Permintaan GET akan digunakan untuk mendapatkan semua sumber daya di server terlebih dahulu. Setelah itu seseorang perlu melihat apakah sumber daya tersebut benar-benar dihapus.
Prinsip dan Batasan RESTFul
Arsitektur REST didasarkan pada beberapa karakteristik yang diuraikan di bawah ini. Setiap layanan web RESTful harus mematuhi karakteristik di bawah ini agar dapat disebut RESTful. Karakteristik ini juga dikenal sebagai prinsip desain yang perlu diikuti saat bekerja dengan layanan berbasis RESTful.
Ini adalah persyaratan paling mendasar dari arsitektur berbasis REST. Artinya, server akan memiliki layanan web RESTful yang akan menyediakan fungsionalitas yang dibutuhkan kepada klien. Klien mengirimkan permintaan ke layanan web di server. Server akan menolak permintaan tersebut atau mematuhinya dan memberikan respons yang memadai kepada klien.
- Tanpa kewarganegaraan
Konsep stateless berarti klien harus memastikan bahwa semua informasi yang diperlukan diberikan ke server. Hal ini diperlukan agar server dapat memproses respon dengan tepat. Server tidak boleh menyimpan informasi apa pun di antara permintaan dari klien. Ini adalah rangkaian tanya jawab independen yang sangat sederhana. Klien mengajukan pertanyaan, server menjawabnya dengan tepat. Klien akan menanyakan pertanyaan lain. Server tidak akan mengingat skenario tanya jawab sebelumnya dan harus menjawab pertanyaan baru secara mandiri.
- Cache
Konsep Cache adalah untuk membantu masalah stateless yang telah dijelaskan pada poin terakhir. Karena setiap permintaan klien server bersifat independen, terkadang klien mungkin meminta permintaan yang sama lagi ke server. Ini meskipun sudah pernah memintanya di masa lalu. Permintaan ini akan masuk ke server, dan server akan memberikan respon. Ini meningkatkan lalu lintas di seluruh jaringan. Cache adalah konsep yang diterapkan pada klien untuk menyimpan permintaan yang telah dikirim ke server. Jadi jika permintaan yang sama diberikan oleh klien, alih-alih pergi ke server, ia akan masuk ke cache dan mendapatkan informasi yang diperlukan. Ini menghemat jumlah lalu lintas jaringan bolak-balik dari klien ke server.
- Sistem Berlapis
Konsep sistem berlapis adalah bahwa setiap lapisan tambahan seperti lapisan middleware dapat disisipkan antara klien dan server sebenarnya yang menghosting layanan web RESTFul (Lapisan middleware adalah tempat semua logika bisnis dibuat. Ini bisa menjadi layanan tambahan dibuat dengan mana klien dapat berinteraksi sebelum membuat panggilan ke layanan web.). Namun pengenalan lapisan ini perlu transparan agar tidak mengganggu interaksi antara klien dan server.
- Antarmuka/Kontrak Seragam
Ini adalah teknik yang mendasari cara kerja layanan web RESTful. RESTful pada dasarnya bekerja pada lapisan web HTTP dan menggunakan kata kerja kunci di bawah ini untuk bekerja dengan sumber daya di server
- POST – Untuk membuat sumber daya di server
- GET – Untuk mengambil sumber daya dari server
- PUT – Untuk mengubah status sumber daya atau memperbaruinya
- HAPUS – Untuk menghapus atau menghapus sumber daya dari server
Buat layanan web Restful pertama Anda di ASP.NET
Sekarang dalam tutorial REST API ini, kita akan mempelajari cara membuat layanan web Restful di ASP.NET:
Layanan web dapat dibuat dalam berbagai bahasa. Banyak lingkungan pengembangan terintegrasi yang dapat digunakan untuk membuat layanan berbasis REST.
Dalam contoh API RESTful ini, kita akan membuat aplikasi REST dalam .Net menggunakan Visual Studio. Dalam contoh kita, untuk layanan web Restful, kita akan meniru contoh layanan REST berikut.
Kami akan memiliki layanan web Restful yang akan bekerja pada kumpulan data di bawah ini.
Kumpulan data di bawah ini mewakili contoh REST API yang memiliki perusahaan yang memaparkan Tutorial yang mereka miliki berdasarkan Tutorialid.
Tutorial | Nama Tutorial |
---|---|
0 | Array |
1 | antrian |
2 | Tumpukan |
Dalam contoh tutorial REST API kami, kami akan mengimplementasikan Kata Kerja Tenang di bawah ini.
- DAPATKAN Tutorialnya – Saat klien memanggil Restful API ini, mereka akan diberikan seluruh rangkaian Tutorial yang tersedia dari layanan web.
- DAPATKAN Tutorial/Tutorialid – Ketika klien memanggil Restful API ini, mereka akan diberikan nama Tutorial berdasarkan Tutorialid yang dikirim oleh klien.
- POST Tutorial/Nama Tutorial – Saat klien memanggil Restful API ini, klien akan mengirimkan permintaan untuk memasukkan Nama Tutorial. Layanan web kemudian akan menambahkan nama Tutorial yang dikirimkan ke koleksi.
- HAPUS Tutorial/Tutorialid– Saat klien memanggil Restful API ini, klien akan mengirimkan permintaan untuk menghapus Nama Tutorial berdasarkan Tutorialid. Layanan web kemudian akan menghapus nama Tutorial yang dikirimkan dari koleksi.
Mari ikuti langkah-langkah di bawah ini dalam tutorial RESTful API ini untuk membuat layanan web RESTful pertama kami, yang menjalankan implementasi di atas.
Cara Membuat Layanan Web Tenang Pertama Anda
Langkah 1) Buat proyek baru.
Langkah pertama adalah membuat yang kosong Asp.Net Aplikasi web. Dari Visual Studio 2013, klik opsi menu File->Proyek baru.
Setelah Anda mengklik opsi New Project, Visual Studio akan memberikan kotak dialog lain untuk memilih jenis proyek dan memberikan rincian yang diperlukan tentang proyek tersebut. Hal ini dijelaskan pada langkah berikutnya dari tutorial RESTful API ini.
Langkah 2) Masukkan nama proyek dan lokasi.
- Pastikan untuk terlebih dahulu memilih layanan web RESTful C# templat web aplikasi web ASP.NET. Proyek harus berjenis ini agar dapat membuat proyek layanan web. Dengan memilih opsi ini, Visual Studio akan menjalankan langkah-langkah yang diperlukan untuk menambahkan berkas yang dibutuhkan oleh aplikasi berbasis web apa pun.
- Berikan nama untuk proyek Anda yang dalam kasus kami diberikan sebagai "Webservice.REST".
- Kemudian pastikan untuk memberikan lokasi, dimana file proyek akan disimpan.
Setelah selesai, Anda akan melihat berkas proyek yang dibuat di penjelajah solusi Anda di Visual Studio 2013.
Langkah 3) Buat file layanan web.
Langkah selanjutnya adalah membuat file layanan web yang akan memiliki layanan web RESTful
- Pertama Klik kanan pada file proyek seperti yang ditunjukkan di bawah ini
- Pada langkah ini,
- Klik kanan pada file proyek
- Pilih opsi “Tambah->item baru.”
Pada kotak dialog yang muncul, Anda perlu melakukan hal berikut:
- Pilih opsi Layanan WCF (Ajax-enabled) – Pilih file jenis ini, itu menyebabkan Visual studio untuk menambahkan beberapa kode dasar yang membantu seseorang membuat layanan web yang tenang. WCF adalah singkatan dari Windows Komunikasi FoundationWCF merupakan library untuk aplikasi berbagai platform atau platform yang sama untuk berkomunikasi melalui berbagai protokol seperti TCP, HTTP, HTTPS. Ajax pada dasarnya bersifat Asynchronous JavaNaskah dan XML. AJAX memungkinkan halaman web diperbarui secara asinkron dengan bertukar sejumlah kecil data dengan server di balik layar.
- Selanjutnya beri nama untuk layanan tersebut yaitu TutorialService dalam kasus kami.
- Terakhir, klik tombol Tambah untuk menambahkan layanan ke solusi.
Langkah 4) Buat konfigurasi.
Langkah selanjutnya adalah membuat perubahan konfigurasi agar proyek ini dapat menyelesaikan pekerjaan dengan layanan web RESTful. Ini memerlukan perubahan pada file bernama web.config. File ini muncul di jendela yang sama dengan file proyek Webservice. File Web.config berisi semua konfigurasi yang membuat aplikasi web berfungsi sebagaimana mestinya. Perubahan yang dilakukan sebenarnya memungkinkan aplikasi mengirim dan menerima data sebagai layanan web RESTful murni.
- Klik pada file Web.config untuk membuka kode
- Temukan garisnya
- Ubah garis menjadi
Langkah 5) Tambahkan kode kami untuk implementasi.
Langkah selanjutnya dalam tutorial RESTful API ini adalah menambahkan kode untuk implementasi. Semua kode yang disebutkan di bawah ini harus ditulis dalam file TutorialService.svc
- Bit pertama adalah menambahkan kode untuk mewakili data kita yang akan digunakan dalam program kita. Jadi kita akan memiliki daftar variabel string dengan nilai “Arrays”, “Queues” dan “Stacks”. Ini akan mewakili nama tutorial yang tersedia melalui layanan web hosting kami.
namespace Webservice.REST { [ServiceContract(Namespace = "")] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed public class TutorialService { private static List<String> lst = new List<String> (new String[] {"Arrays","Queues","Stacks"});
Langkah 6) Tentukan kode untuk metode GET kami.
Selanjutnya kita akan mendefinisikan kode untuk metode GET kita. Kode ini juga akan berada di file TutorialService.svc yang sama. Kode ini akan dijalankan setiap kali kita memanggil layanan dari browser kita.
Metode di bawah ini akan digunakan untuk memenuhi skenario yang disebutkan di bawah
- Jika pengguna menginginkan daftar semua Tutorial yang tersedia, maka kode di bawah ini perlu ditulis untuk mencapai hal ini.
[WebGet(UriTemplate="/Tutorial")] public String GetAllTutorial() { int count = 1st.Count; String TutorialList = ""; for (int i = 0; i < count; i++) TutorialList = TutorialList + lst[i] + ","; return TutorialList; }
Penjelasan Kode: -
- Baris kode pertama adalah yang paling penting. Ini digunakan untuk menentukan bagaimana kita dapat memanggil metode ini melalui URL. Jadi jika link ke layanan web kami adalah http://localhost:52645/TutorialService.svc dan jika kita menambahkan '/Tutorial' ke URL sebagai http://localhost:52645/TutorialService.svc/Tutorial , kode di atas akan dipanggil. Atribut 'WebGet' adalah parameter yang memungkinkan metode ini menjadi metode RESTful sehingga dapat dipanggil melalui kata kerja GET.
- Bagian kode ini digunakan untuk menelusuri daftar string dalam variabel 'lst' dan mengembalikan semuanya ke program pemanggil.
Langkah 7) Kembalikan hasilnya.
Kode di bawah ini memastikan bahwa jika panggilan GET dilakukan ke Layanan Tutorial dengan id Tutorial, maka ia akan mengembalikan Nama Tutorial yang sesuai berdasarkan id Tutorial.
[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")] public String GetTutorialbyID(String Tutorialid) { int pid; Int32.TryParse(Tutorialid, out pid); return lst[pid]; }
Penjelasan Kode: -
- Baris kode pertama adalah yang paling penting. Ini digunakan untuk menentukan bagaimana kita dapat memanggil metode ini melalui URL. Jadi jika link ke layanan web kami adalah http://localhost:52645/TutorialService.svc dan jika kita menambahkan '/Tutorial/{Tutorialid}' ke URL, maka kita dapat memanggil layanan web sebagai http://localhost:52645/TutorialService.svc/Tutorial/1 sebagai contoh. Layanan web kemudian perlu mengembalikan nama Tutorial yang memiliki id Tutorial#1.
- Bagian kode ini digunakan untuk mengembalikan “Nama Tutorial” yang id Tutorialnya diteruskan ke metode web.
- Secara default, yang perlu diingat adalah apa pun yang diteruskan ke URL di browser adalah string.
- Tapi Anda harus ingat bahwa Indeks ke daftar kami harus berupa bilangan bulat, jadi kami menambahkan kode yang diperlukan untuk terlebih dahulu mengubah Tutorialid menjadi Integer dan kemudian menggunakannya untuk mengakses posisi indeks dalam daftar kami dan
- Kemudian kembalikan nilainya ke program pemanggilan.
Langkah 8) Tulis kode untuk metode POST.
Langkah selanjutnya adalah menulis kode untuk metode POST kita. Metode ini akan dipanggil setiap kali kita ingin menambahkan nilai string ke daftar Tutorial kita melalui metode POST. Misalnya, jika Anda ingin menambahkan nama Tutorial “Pengujian Perangkat Lunak” maka Anda perlu menggunakan metode POST.
Penjelasan Kode: -
- Baris pertama adalah atribut 'WebInvoke' yang telah dilampirkan pada metode kita. Hal ini memungkinkan metode untuk dipanggil melalui panggilan POST. Atribut RequestFormat dan ResponseFormat harus disebutkan sebagai JSON, karena ketika memposting nilai ke layanan web RESTFul, nilainya harus dalam format ini.
- Baris kode kedua digunakan untuk menambahkan nilai string yang diteruskan melalui panggilan POST ke daftar string Tutorial yang ada.
Langkah 9) Tambahkan metode untuk menangani operasi DELETE.
Terakhir kami akan menambahkan metode kami untuk menangani operasi DELETE. Metode ini akan dipanggil setiap kali kita ingin menghapus nilai string yang ada dari daftar Tutorial kita melalui metode DELETE.
[WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Json, UriTemplate = "/Tutorial/{Tutorialid}", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)] public void DeleteTutorial(String Tutorialid) { int pid; Int32.TryParse(Tutorialid, out pid); 1st.RemoveAt(pid); }
Penjelasan Kode: -
- Baris pertama adalah atribut 'WebInvoke' yang telah dilampirkan pada metode kita. Hal ini memungkinkan metode untuk dipanggil melalui panggilan POST. Atribut RequestFormat dan ResponseFormat harus disebutkan sebagai JSON, karena ketika memposting nilai ke layanan web RESTFul, nilainya harus dalam format ini. Perhatikan bahwa parameter Metode disetel ke “HAPUS.” Artinya setiap kali kita mengeluarkan kata kerja DELETE, metode ini akan dipanggil.
- Baris kode kedua digunakan untuk mengambil Tutorialid yang dikirim melalui panggilan DELETE dan selanjutnya menghapus id tersebut dari daftar kami. (Itu Int32 fungsi dalam kode digunakan untuk mengubah ID Tutorial dari variabel string menjadi integer).
Menjalankan layanan web Restful pertama Anda
Sekarang kita telah membuat seluruh layanan web kita di bagian di atas. Mari kita lihat bagaimana kita dapat menjalankan layanan Tutorial sehingga dapat dipanggil dari klien mana pun.
Untuk menjalankan layanan web, ikuti langkah-langkah di bawah ini
Langkah 1) Klik kanan pada file Proyek – Webservice.REST
Langkah 2) Pilih opsi menu 'Set as StartUp Project'. Ini akan memastikan bahwa proyek ini dijalankan saat Visual Studio menjalankan seluruh solusi.
Langkah 3) Langkah selanjutnya adalah menjalankan proyek itu sendiri. Sekarang, tergantung pada browser default yang terpasang di sistem, nama browser yang sesuai akan muncul di sebelah tombol jalankan di Visual Studio. Dalam kasus kami, kami memiliki Google Chrome muncul. Cukup klik tombol ini.
Keluaran:-
Saat proyek dijalankan, Anda dapat menelusuri bagian TutorialService.svc/Tutorial, dan Anda akan mendapatkan output di bawah ini.
Dalam keluaran di atas,
- Anda dapat melihat bahwa browser memanggil kata kerja 'GET' dan menjalankan metode 'GetAllTutorial' di layanan web. Modul ini digunakan untuk menampilkan semua Tutorial yang diekspos oleh layanan web kami.
Menguji layanan web Restful pertama Anda
Pada bagian di atas, kita telah melihat cara menggunakan browser untuk mengeksekusi kata kerja 'GET' dan memanggil 'GetAllTutorial.'
- Sekarang mari kita gunakan browser untuk menjalankan skenario kasus penggunaan berikut.
GET Tutorial/Tutorialid – Ketika klien memanggil Restful API ini, mereka akan diberikan nama Tutorial berdasarkan Tutorialid yang dikirim oleh klien
Di browser Anda, tambahkan string /1 setelah kata Tutorial di URL. Jika Anda menekan tombol enter, Anda akan mendapatkan output di bawah ini
Sekarang Anda akan melihat keluaran Antrian yang sebenarnya sesuai dengan nomor 1 dalam daftar String Tutorial kami. Ini berarti metode 'GetTutorialbyID' sekarang sedang dipanggil dari layanan Web kami. Ini juga menunjukkan bahwa nilai 1 berhasil diteruskan melalui browser ke layanan web kami dan ke metode kami dan itulah sebabnya kami mendapatkan nilai "Antrian" yang sesuai di browser.
- Selanjutnya mari kita gunakan layanan web kita dengan menjalankan skenario di bawah ini. Untuk ini, Anda perlu menginstal alat yang disebut “Fiddler” yang merupakan alat yang dapat diunduh gratis dari situs.
POST Tutorial/Nama Tutorial – Saat klien memanggil Restful API ini, klien akan mengirimkan permintaan untuk memasukkan Nama Tutorial. Layanan web kemudian akan menambahkan nama Tutorial yang dikirimkan ke koleksi.
Jalankan alat Filddler dan lakukan langkah-langkah di bawah ini;
- Buka bagian komposer. Ini digunakan untuk membuat permintaan yang dapat dikirimkan ke aplikasi web apa pun.
- Pastikan jenis permintaannya adalah “POST” dan URL yang benar yang digunakan, yang dalam kasus kita seharusnya adalah URL yang benar http://localhost:52645/TutorialService.svc/Tutorial
- Pastikan Tipe Konten ditandai sebagai aplikasi/json. Ingatlah bahwa metode permintaan POST di layanan Web kami hanya menerima data gaya json jadi kami perlu memastikan ini ditentukan saat kami mengirimkan permintaan ke aplikasi kami.
- Terakhir, kita perlu memasukkan data kita. Ingatlah bahwa metode kami untuk POST menerima parameter yang disebut 'str.' Jadi di sini kita menentukan bahwa kita ingin menambahkan nilai yang disebut “Pohon” ke kumpulan nama Tutorial kita dan memastikan bahwa nilai tersebut diberi tag ke nama variabel str.
Terakhir, klik saja tombol Execute di fiddler. Ini akan mengirim permintaan ke layanan web untuk POST data “Trees” ke layanan web kita.
Sekarang, ketika kita menelusuri URL Tutorial untuk menampilkan semua string dalam daftar Tutorial kita, Anda sekarang akan melihat nilai “Pohon” juga ada. Ini menunjukkan bahwa permintaan POST ke layanan web berhasil dijalankan dan berhasil ditambahkan ke Daftar Tutorial kami.
- Selanjutnya mari kita konsumsi layanan web kita dengan menjalankan skenario di bawah ini. Untuk ini kita juga perlu menggunakan alat fiddler
HAPUS Tutorial/Tutorialid- Saat klien memanggil Restful API ini, klien akan mengirimkan permintaan untuk menghapus Nama Tutorial berdasarkan Tutorialid. Layanan web kemudian akan menghapus nama Tutorial yang dikirimkan dari koleksi.
Jalankan alat Filddler dan lakukan langkah-langkah di bawah ini
- Buka bagian komposer. Ini digunakan untuk membuat permintaan yang dapat dikirimkan ke aplikasi web apa pun.
- Pastikan jenis permintaannya adalah "HAPUS" dan URL yang benar yang digunakan, yang dalam kasus kita seharusnya demikian http://localhost:52645/TutorialService.svc/Tutorial. Pastikan id yang digunakan untuk menghapus string dalam daftar dikirim melalui URL sebagai parameter. Dalam contoh REST kami, kami mengirimkan 1 sehingga ini akan menghapus 2nd elemen dalam koleksi kami yaitu "Antrian".
Terakhir, klik saja tombol Execute di fiddler. Ini akan mengirimkan permintaan ke layanan web untuk MENGHAPUS data “Queues” ke layanan web kita.
Sekarang, ketika kita menelusuri URL Tutorial untuk menampilkan semua string dalam daftar Tutorial kita, Anda akan melihat bahwa nilai "Antrian" sudah tidak ada lagi.
Ini menunjukkan bahwa permintaan DELETE ke layanan web berhasil dijalankan. Elemen pada indeks nomor 1 dalam daftar string Tutorial kami berhasil dihapus.
Ringkasan
- REST adalah singkatan dari REpresentational State Transfer. REST digunakan untuk membangun layanan web yang ringan, mudah dipelihara, dan dapat diskalakan.
- Semakin banyak aplikasi yang beralih ke arsitektur Restful. Hal ini dikarenakan banyak orang kini menggunakan perangkat seluler dan semakin banyak pula aplikasi yang beralih ke cloud.
- Aspek utama dari REST adalah sumber daya yang berada di server dan kata kerja GET, POST, PUT dan DELETE, yang dapat digunakan untuk bekerja dengan sumber daya ini.
- Visual Studio dan .Net dapat digunakan untuk membuat layanan web Restful.
- Ketika pengujian layanan web untuk POST dan PUT, Anda perlu menggunakan alat lain yang disebut fiddler yang dapat digunakan untuk mengirim permintaan POST dan PUT ke server.