Apa itu Restful Web Services?
Restful Web Services adalah layanan ringan, dapat dipelihara, dan dapat diskalakan yang dibangun di atas arsitektur REST. Layanan Web yang tenang, paparkan API dari aplikasi Anda dengan cara yang aman, seragam, tanpa kewarganegaraan kepada klien yang menelepon. Klien pemanggil dapat melakukan operasi yang telah ditentukan menggunakan layanan Restful. Protokol yang mendasari REST adalah HTTP. REST adalah singkatan dari REpresentational State Transfer.
Dalam tutorial REST API ini, Anda akan belajar-
- Elemen Kunci RESTful
- Metode Tenang
- Mengapa Restful
- Arsitektur yang Tenang
- Prinsip dan Batasan RestFul
- Buat layanan web Restful pertama Anda di ASP.NET
- Menjalankan layanan web Restful pertama Anda
- Menguji layanan web Restful pertama Anda
Elemen Kunci RESTful
Layanan Web REST benar-benar telah berkembang pesat sejak dimulainya. 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 sangat populer. Dan 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 atau gambar atau video penting. Semua ini adalah contoh sumber daya. Jika klien, katakanlah browser web membutuhkan sumber daya ini, ia harus mengirim 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. Mari kita asumsikan bahwa aplikasi web di server memiliki catatan dari beberapa karyawan. Mari kita asumsikan URL dari aplikasi web adalah http://demo.guru99.com . Sekarang untuk mengakses sumber daya catatan karyawan melalui layanan REST, seseorang dapat mengeluarkan perintah http://demo.guru99.com/employee/1 - Perintah ini memberi tahu server web untuk memberikan detail karyawan yang nomor pegawainya adalah 1.
-
Request Verbs - 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 hal-hal seperti POST, PUT, dan DELETE. Jadi dalam kasus contoh http://demo.guru99.com/employee/1 , browser web sebenarnya mengeluarkan kata kerja GET karena ingin mendapatkan detail dari catatan karyawan.
-
Header Permintaan - Ini adalah instruksi tambahan yang dikirim bersama permintaan. Ini mungkin menentukan jenis respons yang diperlukan atau detail otorisasi.
-
Badan Permintaan - Data dikirim dengan permintaan. Data biasanya dikirim dalam permintaan ketika 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. Karenanya, badan permintaan akan memiliki detail sumber daya yang perlu ditambahkan ke server.
-
Badan Respons - Ini adalah bagian utama respons. Jadi dalam contoh RESTful API kami, jika kami menanyakan server web melalui permintaan http://demo.guru99.com/employee/1 , server web mungkin mengembalikan dokumen XML dengan semua detail karyawan di Respons Tubuh.
-
Kode Status Respons - Kode ini adalah kode umum yang dikembalikan bersama dengan respons dari server web. Contohnya adalah kode 200 yang biasanya dikembalikan jika tidak ada kesalahan saat mengembalikan respons ke klien.
Metode Tenang
Diagram di bawah ini menunjukkan sebagian besar kata kerja (POST, GET, PUT, dan DELETE) dan contoh REST API tentang apa artinya.
Mari kita asumsikan bahwa kita memiliki layanan web RESTful yang didefinisikan di lokasi. http://demo.guru99.com/employee . Ketika klien membuat permintaan apa pun ke layanan web ini, klien dapat menentukan verba HTTP normal apa pun dari GET, POST, DELETE dan PUT. Di bawah ini adalah apa yang akan terjadi jika kata kerja masing-masing dikirim oleh klien.
- POST - Ini akan digunakan untuk membuat karyawan baru menggunakan layanan web RESTful
- GET - 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
- HAPUS - Ini akan digunakan untuk menghapus semua karyawan yang menggunakan layanan RESTful
Mari kita lihat dari perspektif satu rekaman saja. Misalkan ada catatan pegawai dengan nomor pegawai 1.
Tindakan berikut akan memiliki arti masing-masing.
- POST - Ini tidak akan berlaku karena kami mengambil data karyawan 1 yang sudah dibuat.
- GET - Ini akan digunakan untuk mendapatkan detail karyawan dengan Nomor Karyawan sebagai 1 menggunakan layanan web RESTful
- PUT - Ini akan digunakan untuk memperbarui detail karyawan dengan Nomor Karyawan sebagai 1 menggunakan layanan web RESTful
- HAPUS - Ini digunakan untuk menghapus rincian karyawan dengan Nomor Karyawan sebagai 1
Mengapa Restful
Istirahat sebagian besar menjadi populer karena alasan berikut:
- Bahasa dan lingkungan heterogen - Ini adalah salah satu alasan mendasar yang sama seperti yang telah kita lihat untuk SOAP juga.
- Ini memungkinkan aplikasi web yang dibangun di atas berbagai bahasa pemrograman untuk berkomunikasi satu sama lain
- Dengan bantuan layanan Restful, aplikasi web ini dapat berada di lingkungan yang berbeda, beberapa mungkin di Windows, dan lainnya mungkin di Linux.
Tetapi pada akhirnya, apapun lingkungannya, hasil akhirnya harus selalu sama yaitu mereka harus bisa berbicara satu sama lain. Layanan web yang tenang menawarkan fleksibilitas ini untuk aplikasi yang dibangun di atas berbagai bahasa pemrograman dan platform untuk berbicara satu sama lain.
Gambar di bawah ini memberikan contoh aplikasi web yang memiliki kebutuhan untuk berkomunikasi dengan aplikasi lain seperti Facebook, Twitter, dan Google.
Sekarang jika aplikasi klien harus bekerja dengan situs-situs seperti Facebook, Twitter, dll. Mereka mungkin harus tahu apa bahasa Facebook, Google dan Twitter dibangun, dan juga pada platform apa mereka dibangun.
Berdasarkan ini, kita dapat menulis kode antarmuka untuk aplikasi web kita, tetapi ini bisa menjadi mimpi buruk.
Facebook, Twitter, dan Google memaparkan fungsinya dalam bentuk layanan web Restful. Ini memungkinkan aplikasi klien apa pun memanggil layanan web ini melalui REST.
- Peristiwa Perangkat - Saat ini, segala sesuatu perlu bekerja di perangkat Seluler, baik itu perangkat seluler, notebook, atau bahkan sistem mobil.
Dapatkah Anda membayangkan besarnya upaya untuk mencoba dan membuat kode aplikasi pada perangkat ini untuk berbicara dengan aplikasi web normal? Sekali lagi Restful API dapat membuat pekerjaan ini lebih sederhana karena seperti yang disebutkan pada poin no 1, Anda benar-benar tidak perlu tahu apa lapisan yang mendasari perangkat.
- Terakhir adalah acara Cloud - Semuanya bergerak ke cloud. Aplikasi perlahan-lahan berpindah ke sistem berbasis cloud seperti di Azure atau Amazon. Azure dan Amazon menyediakan banyak API berdasarkan arsitektur Restful. Oleh karena itu, aplikasi sekarang perlu dikembangkan sedemikian rupa sehingga kompatibel dengan Cloud. Jadi karena semua arsitektur berbasis Cloud bekerja berdasarkan prinsip REST, lebih masuk akal jika layanan web diprogram pada arsitektur berbasis layanan REST untuk memanfaatkan layanan berbasis Cloud dengan sebaik-baiknya.
Arsitektur yang Tenang
Aplikasi atau arsitektur yang dianggap RESTful atau REST-style memiliki karakteristik sebagai berikut
- 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 dapat mengeluarkan permintaan GET dan mendapatkan file tersebut. Jika mereka ingin meletakkan file di server, mereka harus bisa mengeluarkan permintaan POST atau PUT. Dan akhirnya, jika mereka ingin menghapus file dari server, mereka mengeluarkan permintaan DELETE.
- Arsitekturnya adalah klien / server, stateless, berlapis, dan mendukung caching -
- Client-server adalah arsitektur khas di mana server dapat menjadi server web yang menghosting aplikasi, dan klien dapat sesederhana browser 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 hapus itu diteruskan ke permintaan berikutnya.
Untuk memastikan bahwa sumber daya telah 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 itu 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 bisa disebut RESTful. Karakteristik ini juga dikenal sebagai prinsip desain yang perlu diikuti saat bekerja dengan layanan berbasis RESTful.
- RESTFul Client-Server
Ini adalah persyaratan paling mendasar dari arsitektur berbasis REST. Ini berarti bahwa server akan memiliki layanan web RESTful yang akan menyediakan fungsionalitas yang diperlukan untuk klien. Klien mengirim permintaan ke layanan web di server. Server akan menolak permintaan atau menuruti dan memberikan respon yang memadai kepada klien.
- Tanpa kewarganegaraan
Konsep stateless berarti terserah klien untuk memastikan bahwa semua informasi yang diperlukan disediakan ke server. Ini diperlukan agar server dapat memproses respons dengan tepat. Server tidak boleh memelihara informasi apa pun antara permintaan dari klien. Ini adalah rangkaian pertanyaan-jawaban 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 perlu menjawab pertanyaan baru secara mandiri.
- Cache
Konsep Cache adalah untuk membantu masalah stateless yang dijelaskan pada poin terakhir. Karena setiap permintaan klien server bersifat independen, terkadang klien mungkin meminta server untuk permintaan yang sama lagi. Ini meskipun sebelumnya sudah memintanya. Permintaan ini akan masuk ke server, dan server akan memberikan tanggapan. 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, itu akan masuk ke cache dan mendapatkan informasi yang diperlukan. Ini menghemat jumlah lalu lintas jaringan ke sana kemari 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 yang dapat digunakan klien untuk berinteraksi sebelum melakukan panggilan ke layanan web.). Namun pengenalan lapisan ini harus transparan agar tidak mengganggu interaksi antara klien dan server.
- Kontrak Antarmuka / 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 belajar cara membuat layanan web Restful di ASP.NET:
Layanan web dapat dibuat dalam berbagai bahasa. Banyak lingkungan pengembangan terintegrasi dapat digunakan untuk membuat layanan berbasis REST.
Dalam contoh RESTful API ini, kita akan membuat aplikasi REST kita di .Net menggunakan Visual Studio. Dalam contoh kami, untuk layanan web Restful kami 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 memiliki perusahaan yang mengekspos Tutorial yang mereka miliki berdasarkan Tutorialid.
Tutorialid | TutorialName |
0 | Array |
1 | Antrian |
2 | Tumpukan |
Dalam contoh tutorial REST API kami, kami akan menerapkan Restful Verbs di bawah ini.
- DAPATKAN Tutorial - Ketika 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 diberi nama Tutorial berdasarkan Tutorialid yang dikirim oleh klien.
- POST Tutorial / Tutorialname - Ketika klien memanggil Restful API ini, klien akan mengirimkan permintaan untuk memasukkan Tutorialname. Layanan web kemudian akan menambahkan nama Tutorial yang dikirimkan ke koleksi.
- HAPUS Tutorial / Tutorialid- Ketika 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 melakukan implementasi di atas.
Langkah 1) Langkah pertama adalah membuat aplikasi Web Asp.Net kosong. Dari Visual Studio 2013, klik opsi menu File-> New project.
Setelah Anda mengklik opsi Proyek Baru, Visual Studio kemudian akan memberi Anda kotak dialog lain untuk memilih jenis proyek dan memberikan rincian proyek yang diperlukan. Ini dijelaskan pada langkah selanjutnya dari tutorial RESTful API ini
Langkah 2) Pada langkah ini,
- Pastikan untuk memilih template web C # layanan web RESTful dari aplikasi ASP.NET Web. Proyek harus jenis ini untuk membuat proyek layanan web. Dengan memilih opsi ini, Visual Studio akan melakukan langkah-langkah yang diperlukan untuk menambahkan file yang diperlukan yang diperlukan oleh aplikasi berbasis web.
- Beri nama untuk proyek Anda yang dalam kasus kami telah diberikan sebagai "Webservice.REST".
- Kemudian pastikan untuk memberikan lokasi, dimana file proyek akan disimpan.
Setelah selesai, Anda akan melihat file proyek yang dibuat di penjelajah solusi Anda di Visual Studio 2013.
Langkah 3) Langkah selanjutnya adalah membuat file layanan web yang akan memiliki layanan web RESTful
- Klik kanan pertama pada file proyek seperti yang ditunjukkan di bawah ini
- Dalam langkah ini,
- Klik kanan pada file proyek
- Pilih opsi "Tambah-> item baru".
Di kotak dialog yang muncul, Anda perlu melakukan hal berikut
- Pilih opsi Layanan WCF (Ajax-enabled) - Pilih file jenis ini, ini menyebabkan Visual studio menambahkan beberapa kode dasar yang membantu seseorang membuat layanan web RESTful. WCF adalah singkatan dari Windows Communication Foundation. WCF adalah pustaka untuk aplikasi dari berbagai platform atau platform yang sama untuk berkomunikasi melalui berbagai protokol seperti TCP, HTTP, HTTPS. Ajax pada dasarnya adalah Asynchronous JavaScript dan XML. AJAX memungkinkan halaman web diperbarui secara asinkron dengan menukar sejumlah kecil data dengan server di belakang layar.
- Selanjutnya beri nama untuk layanan yang TutorialService dalam kasus kami.
- Terakhir, klik tombol Add untuk menambahkan layanan ke solusi.
Langkah 4) Langkah selanjutnya adalah benar-benar membuat perubahan konfigurasi untuk memungkinkan proyek ini menyelesaikan pekerjaan dengan layanan web RESTful. Ini membutuhkan untuk membuat perubahan ke 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 dibuat sebenarnya memungkinkan aplikasi untuk mengirim dan menerima data sebagai layanan web RESTful murni.
- Klik pada file Web.config untuk membuka kode
- Temukan baris
- Ubah garis menjadi
Langkah 5) Langkah selanjutnya dalam tutorial RESTful API ini adalah menambahkan kode kita untuk implementasi. Semua kode yang disebutkan di bawah ini harus ditulis dalam file TutorialService.svc
- Bit pertama adalah menambahkan kode untuk mewakili data kami yang akan digunakan dalam program kami. Jadi kita akan memiliki daftar variabel string dengan nilai "Array", "Queues" dan "Stacks". Ini akan mewakili nama tutorial yang tersedia melalui layanan web hosting kami.
namespace Webservice.REST{[ServiceContract(Namespace = "")][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowedpublic class TutorialService{private static Listlst = new List (new String[] {"Arrays","Queues","Stacks"});
Langkah 6) Selanjutnya kita akan menentukan kode untuk metode GET kita. Kode ini juga akan berada di file TutorialService.svc yang sama. Kode ini akan berjalan setiap kali kita memanggil layanan dari browser kita.
Metode di bawah ini akan digunakan untuk memenuhi skenario yang disebutkan di bawah ini
- Jika pengguna menginginkan daftar semua Tutorial yang tersedia, maka kode di bawah ini perlu ditulis untuk mencapai 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 kita 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 memeriksa daftar string di variabel 'lst' dan mengembalikan semuanya ke program pemanggil.
Langkah 7) Kode di bawah memastikan bahwa jika panggilan GET dilakukan ke Layanan Tutorial dengan id Tutorial, maka itu 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 kita adalah http: // localhost: 52645 / TutorialService.svc dan jika kita menambahkan '/ Tutorial / {Tutorialid}' ke URL, maka kita akan dapat memanggil layanan web tersebut 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 bahwa apa pun yang diteruskan ke URL di browser adalah string.
- Tetapi 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 panggilan yang sesuai.
Langkah 8) 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 ke metode kami. Ini memungkinkan metode dipanggil melalui panggilan POST. Atribut RequestFormat dan ResponseFormat harus disebutkan sebagai JSON, karena saat 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) Akhirnya kita akan menambahkan metode kita untuk menangani operasi DELETE. Metode ini akan dipanggil setiap kali kami ingin menghapus nilai string yang ada dari daftar Tutorial kami melalui metode DELETE.
[WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Ison,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 ke metode kami. Ini memungkinkan metode dipanggil melalui panggilan POST. Atribut RequestFormat dan ResponseFormat harus disebutkan sebagai JSON, karena saat memposting nilai ke layanan web RESTFul, nilainya harus dalam format ini. Perhatikan bahwa parameter Metode disetel ke "HAPUS". Ini berarti bahwa setiap kali kita mengeluarkan kata kerja DELETE, metode ini akan dipanggil.
- Baris kode kedua digunakan untuk mengambil Tutorialid yang dikirim melalui panggilan DELETE dan kemudian menghapus id itu dari daftar kami. (Fungsi Int32 dalam kode digunakan untuk mengonversi ID Tutorial dari variabel string menjadi integer).
Menjalankan layanan web Restful pertama Anda
Sekarang kita telah membuat seluruh layanan web kita di bagian atas. Mari kita lihat bagaimana kita dapat menjalankan layanan Tutorial sehingga dapat dipanggil dari klien manapun.
Untuk menjalankan layanan web, ikuti langkah-langkah di bawah ini
Langkah 1) Klik kanan pada file Project - Webservice.REST
Langkah 2) Pilih opsi menu 'Set as StartUp Project'. Ini akan memastikan bahwa proyek ini dijalankan ketika Visual Studio menjalankan seluruh solusi
Langkah 3) Langkah selanjutnya adalah menjalankan proyek itu sendiri. Sekarang tergantung pada browser default yang diinstal pada sistem, nama browser yang sesuai akan muncul di sebelah tombol run di Visual Studio. Dalam kasus kami, 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.
Pada keluaran di atas,
- Anda dapat melihat bahwa browser menggunakan kata kerja 'GET' dan menjalankan metode 'GetAllTutorial' di layanan web. Modul ini digunakan untuk menampilkan semua Tutorial yang dipaparkan oleh layanan web kami.
Menguji layanan web Restful pertama Anda
Pada bagian di atas, kita telah melihat bagaimana menggunakan browser untuk menjalankan kata kerja 'GET' dan memanggil 'GetAllTutorial.'
- Sekarang mari gunakan browser untuk menjalankan skenario use case berikut.
DAPATKAN Tutorial / Tutorialid - Ketika klien memanggil Restful API ini, mereka akan diberi 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 output dari Queues yang sebenarnya sesuai dengan nomor 1 dalam daftar Tutorial Strings kami. Ini berarti bahwa metode 'GetTutorialbyID' sekarang sedang dipanggil dari Webservice 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 yang sesuai dari "Antrian" di browser.
- Selanjutnya mari kita konsumsi 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 / Tutorialname - Ketika klien memanggil Restful API ini, klien akan mengirimkan permintaan untuk memasukkan Tutorialname. Layanan web kemudian akan menambahkan nama Tutorial yang dikirimkan ke koleksi.
Jalankan alat Filddler dan lakukan langkah-langkah di bawah ini;
- Pergi ke bagian komposer. Ini digunakan untuk membuat permintaan yang dapat dikirimkan ke web manapun
aplikasi.
- Pastikan jenis permintaan adalah "POST" dan URL yang benar sedang dipukul, yang dalam kasus kita seharusnya http: // localhost: 52645 / TutorialService.svc / Tutorial
- Pastikan Content-Type ditandai sebagai application / json. Ingat bahwa metode permintaan POST kami di layanan Web kami hanya menerima data gaya json jadi kami perlu memastikan ini ditentukan saat kami mengirim permintaan ke aplikasi kami.
- Terakhir, kita perlu memasukkan data kita. Ingatlah bahwa metode kami untuk POST menerima parameter yang disebut 'str.' Jadi di sini kami menetapkan bahwa kami ingin menambahkan nilai yang disebut "Pohon" ke koleksi nama Tutorial kami dan memastikan bahwa itu diberi tag ke nama variabel str.
Terakhir, cukup klik tombol Execute di fiddler. Ini akan mengirimkan permintaan ke layanan web untuk POST data "Pohon" ke layanan web kami.
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 juga kita perlu menggunakan alat fiddler
HAPUS Tutorial / Tutorialid- Ketika 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
- Pergi ke bagian komposer. Ini digunakan untuk membuat permintaan yang dapat dikirimkan ke web manapun
aplikasi.
- Pastikan jenis permintaan adalah "DELETE" dan URL yang benar sedang dipukul, yang dalam kasus kita seharusnya http: // localhost: 52645 / TutorialService.svc / Tutorial . Pastikan id yang digunakan untuk menghapus string dalam daftar dikirim melalui URL sebagai parameter. Dalam contoh SISA kami, kami mengirimkan 1 jadi ini akan menghapus 2 nd elemen dalam koleksi kami yang merupakan "Antrian".
Terakhir, cukup klik tombol Execute di fiddler. Ini akan mengirimkan permintaan ke web service untuk MENGHAPUS data “Queues” ke web service kami.
Sekarang, saat kita menelusuri URL Tutorial untuk menampilkan semua string dalam daftar Tutorial kita, Anda akan melihat bahwa nilai "Antrian" tidak lagi ada.
Ini menunjukkan bahwa permintaan DELETE ke layanan web berhasil dijalankan. Elemen pada indeks no 1 dalam daftar string Tutorial kami berhasil dihapus.
Ringkasan
- REST adalah singkatan dari REpresentational State Transfer. REST digunakan untuk membangun layanan web yang ringan, dapat dipelihara, dan dapat diskalakan di alam.
- Semakin banyak aplikasi yang pindah ke arsitektur Restful. Ini karena ada banyak orang yang sekarang menggunakan perangkat seluler dan semakin banyak variasi aplikasi yang pindah ke cloud.
- Aspek utama 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.
- Saat Menguji 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.