Apakah Perkhidmatan Web yang Tenang?
Perkhidmatan Web yang tenang adalah perkhidmatan yang ringan, dapat dipelihara, dan terukur yang dibina berdasarkan seni bina REST. Perkhidmatan Web yang tenang, dedahkan API dari aplikasi anda dengan cara yang selamat, seragam, tanpa kewarganegaraan kepada klien panggilan. Pelanggan yang memanggil dapat melakukan operasi yang telah ditentukan dengan menggunakan perkhidmatan Rehat. Protokol asas untuk REST adalah HTTP. REST adalah singkatan dari REpresentational State Transfer.
Dalam tutorial REST API ini, anda akan belajar-
- Elemen-elemen Utama TERBAIK
- Kaedah Berehat
- Mengapa Berehat
- Senibina yang tenang
- Prinsip dan Kekangan RestFul
- Buat perkhidmatan web Restful pertama anda di ASP.NET
- Menjalankan perkhidmatan web Restful pertama anda
- Menguji perkhidmatan web Restful pertama anda
Elemen-elemen Utama TERBAIK
Perkhidmatan Web REST benar-benar telah berkembang sejak awal. Pada tahun 2002, konsortium Web telah mengeluarkan definisi perkhidmatan web WSDL dan SOAP. Ini membentuk standard bagaimana perkhidmatan web dilaksanakan.
Pada tahun 2004, konsortium web juga mengeluarkan definisi standard tambahan yang disebut RESTful. Sejak beberapa tahun kebelakangan ini, standard ini menjadi sangat popular. Dan digunakan oleh banyak laman web popular di seluruh dunia yang merangkumi Facebook dan Twitter.
REST adalah cara untuk mengakses sumber yang terletak di persekitaran tertentu. Contohnya, anda mungkin mempunyai pelayan yang boleh memuatkan dokumen atau gambar atau video penting. Semua ini adalah contoh sumber. Sekiranya pelanggan, katakan penyemak imbas web memerlukan salah satu sumber ini, ia harus menghantar permintaan ke pelayan untuk mengakses sumber tersebut. Kini perkhidmatan REST menentukan cara bagaimana sumber daya ini dapat diakses.
Unsur-unsur utama pelaksanaan RESTful adalah seperti berikut:
-
Sumber - Unsur utama pertama adalah sumber itu sendiri. Anggaplah bahawa aplikasi web di pelayan mempunyai rekod beberapa pekerja. Mari kita anggap URL aplikasi web adalah http://demo.guru99.com . Sekarang untuk mengakses sumber rekod pekerja melalui perkhidmatan REST, seseorang dapat mengeluarkan perintah http://demo.guru99.com/employee/1 - Perintah ini memberitahu pelayan web untuk memberikan perincian pekerja yang nombor pekerjanya 1.
-
Kata Kerja Permintaan - Ini menerangkan apa yang anda mahu lakukan dengan sumber. Penyemak imbas mengeluarkan kata kerja GET untuk mengarahkan titik akhir yang ingin mendapatkan data. Walau bagaimanapun, terdapat banyak kata kerja lain yang tersedia termasuk perkara seperti POST, PUT, dan DELETE. Oleh itu, dalam contoh http://demo.guru99.com/employee/1 , penyemak imbas web sebenarnya mengeluarkan GET Verb kerana ingin mendapatkan perincian rekod pekerja.
-
Permintaan Header - Ini adalah arahan tambahan yang dihantar bersama permintaan. Ini mungkin menentukan jenis respons yang diperlukan atau perincian kebenaran.
-
Badan Permintaan - Data dihantar dengan permintaan. Data biasanya dikirim dalam permintaan ketika permintaan POST dibuat ke perkhidmatan web REST. Dalam panggilan POST, pelanggan sebenarnya memberitahu perkhidmatan web REST bahawa dia ingin menambahkan sumber ke pelayan. Oleh itu, badan permintaan akan mempunyai perincian sumber yang diperlukan untuk ditambahkan ke pelayan.
-
Badan Respons - Ini adalah badan utama tindak balas. Oleh itu, dalam contoh RESTful API kami, jika kami meminta pelayan web melalui permintaan http://demo.guru99.com/employee/1 , pelayan web mungkin mengembalikan dokumen XML dengan semua butiran pekerja dalam Respons Badan.
-
Kod Status Response - Kod ini adalah kod umum yang dikembalikan bersama dengan tindak balas dari pelayan web. Contohnya ialah kod 200 yang biasanya dikembalikan jika tidak ada kesalahan ketika mengembalikan respons kepada klien.
Kaedah Berehat
Gambar rajah di bawah menunjukkan kebanyakan kata kerja (POST, GET, PUT, dan DELETE) dan contoh REST API tentang maksudnya.
Mari kita anggap bahawa kita mempunyai perkhidmatan web RESTful yang ditentukan di lokasi. http://demo.guru99.com/employee . Apabila pelanggan membuat permintaan ke perkhidmatan web ini, ia dapat menentukan salah satu kata kerja HTTP biasa GET, POST, DELETE dan PUT. Berikut adalah apa yang akan berlaku Sekiranya kata kerja masing-masing dihantar oleh pelanggan.
- POST - Ini akan digunakan untuk membuat pekerja baru menggunakan perkhidmatan web RESTful
- DAPATKAN - Ini akan digunakan untuk mendapatkan senarai semua pekerja yang menggunakan perkhidmatan web RESTful
- PUT - Ini akan digunakan untuk mengemas kini semua pekerja menggunakan perkhidmatan web RESTful
- HAPUS - Ini akan digunakan untuk menghapus semua pekerja menggunakan perkhidmatan RESTful
Mari kita lihat dari perspektif hanya satu rekod. Katakan ada catatan pekerja dengan bilangan pekerja 1.
Tindakan berikut mempunyai makna masing-masing.
- POST - Ini tidak akan berlaku kerana kami mengambil data pekerja 1 yang sudah dibuat.
- DAPATKAN - Ini akan digunakan untuk mendapatkan maklumat pekerja dengan No. Pekerja sebagai 1 menggunakan perkhidmatan web RESTful
- PUT - Ini akan digunakan untuk mengemas kini butir-butir pekerja dengan No. Pegawai 1 menggunakan perkhidmatan web RESTful
- DELETE - Ini digunakan untuk menghapus maklumat pekerja dengan No. Kakitangan sebagai 1
Mengapa Berehat
Berehat kebanyakannya menjadi popular kerana alasan berikut:
- Bahasa dan persekitaran yang heterogen - Ini adalah salah satu sebab asas yang sama seperti yang telah kita lihat untuk SOAP juga.
- Ini membolehkan aplikasi web yang dibina berdasarkan pelbagai bahasa pengaturcaraan untuk berkomunikasi antara satu sama lain
- Dengan bantuan perkhidmatan Rehat, aplikasi web ini dapat berada di lingkungan yang berbeda, ada yang dapat menggunakan Windows, dan yang lain dapat menggunakan Linux.
Tetapi pada akhirnya, tidak kira apa persekitarannya, hasil akhirnya harus selalu sama sehingga mereka harus dapat berbicara antara satu sama lain. Perkhidmatan web yang tenang menawarkan fleksibiliti ini kepada aplikasi yang dibina berdasarkan pelbagai bahasa dan platform pengaturcaraan untuk saling berbual.
Gambar di bawah ini memberikan contoh aplikasi web yang mempunyai syarat untuk berbicara dengan aplikasi lain seperti Facebook, Twitter, dan Google.
Sekarang jika aplikasi pelanggan harus bekerja dengan laman web seperti Facebook, Twitter, dan lain-lain, mereka mungkin harus mengetahui bahasa apa yang dibina oleh Facebook, Google dan Twitter, dan juga di platform apa mereka dibina.
Berdasarkan ini, kami dapat menulis kod antara muka untuk aplikasi web kami, tetapi ini dapat menjadi mimpi buruk.
Facebook, Twitter, dan Google memperlihatkan fungsi mereka dalam bentuk perkhidmatan web yang tenang. Ini membolehkan mana-mana aplikasi pelanggan memanggil perkhidmatan web ini melalui REST.
- Acara Peranti - Pada masa ini, semuanya perlu berfungsi pada peranti Mudah Alih, sama ada peranti mudah alih, notebook, atau bahkan sistem kereta.
Bolehkah anda bayangkan berapa banyak usaha untuk mencuba dan mengekod aplikasi pada peranti ini untuk bercakap dengan aplikasi web biasa? API Restful sekali lagi dapat menjadikan pekerjaan ini lebih mudah kerana seperti yang disebutkan dalam poin no 1, Anda benar-benar tidak perlu tahu apa lapisan dasar perangkat.
- Akhirnya adalah peristiwa Awan - Semuanya bergerak ke awan. Aplikasi perlahan-lahan beralih ke sistem berasaskan awan seperti di Azure atau Amazon. Azure dan Amazon menyediakan banyak API berdasarkan senibina Restful. Oleh itu, aplikasi kini perlu dikembangkan sedemikian rupa sehingga dibuat serasi dengan Cloud. Oleh kerana semua arkitek berasaskan Cloud berfungsi berdasarkan prinsip REST, lebih masuk akal untuk perkhidmatan web diprogramkan pada seni bina berasaskan perkhidmatan REST untuk memanfaatkan perkhidmatan berasaskan Cloud dengan sebaik-baiknya.
Senibina yang tenang
Aplikasi atau seni bina yang dianggap RESTful atau gaya REST mempunyai ciri-ciri berikut
- Keadaan dan fungsi dibahagikan kepada sumber yang diedarkan - Ini bermaksud bahawa setiap sumber harus dapat diakses melalui perintah HTTP biasa GET, POST, PUT, atau DELETE. Oleh itu, jika seseorang ingin mendapatkan fail dari pelayan, mereka harus dapat mengeluarkan permintaan GET dan mendapatkan fail tersebut. Sekiranya mereka ingin meletakkan fail di pelayan, mereka seharusnya dapat mengeluarkan permintaan POST atau PUT. Dan akhirnya, jika mereka ingin menghapus fail dari pelayan, mereka akan mengeluarkan permintaan HAPUS.
- Senibina adalah pelanggan / pelayan, tanpa status, berlapis, dan menyokong cache -
- Pelayan pelanggan adalah seni bina khas di mana pelayan boleh menjadi pelayan web yang menghosting aplikasi, dan klien dapat sesederhana pelayar web.
- Tanpa Statistik bermaksud bahawa keadaan aplikasi tidak dikekalkan dalam REST.
Sebagai contoh, jika anda menghapus sumber dari pelayan menggunakan perintah DELETE, anda tidak boleh mengharapkan maklumat penghapusan itu diserahkan ke permintaan seterusnya.
Untuk memastikan bahawa sumber daya dihapus, anda perlu mengeluarkan permintaan GET. Permintaan GET akan digunakan untuk mendapatkan semua sumber terlebih dahulu di pelayan. Selepas itu, seseorang perlu melihat apakah sumber itu benar-benar dihapuskan.
Prinsip dan Kekangan RESTFul
Senibina REST didasarkan pada beberapa ciri yang dihuraikan di bawah. Sebarang perkhidmatan web RESTful harus mematuhi ciri-ciri di bawah ini agar dapat dipanggil RESTful. Ciri-ciri ini juga dikenali sebagai prinsip reka bentuk yang harus dipatuhi ketika bekerja dengan perkhidmatan berdasarkan RESTful.
- Pelayan Pelanggan RESTFul
Ini adalah keperluan paling asas dari seni bina berasaskan REST. Ini bermaksud bahawa pelayan akan mempunyai perkhidmatan web RESTful yang akan memberikan fungsi yang diperlukan kepada klien. Pelanggan menghantar permintaan ke perkhidmatan web di pelayan. Pelayan akan menolak permintaan tersebut atau mematuhi dan memberikan respons yang mencukupi kepada pelanggan.
- Tanpa Statistik
Konsep stateless bermaksud bahawa terserah kepada pelanggan untuk memastikan bahawa semua maklumat yang diperlukan diberikan kepada pelayan. Ini diperlukan supaya pelayan dapat memproses respons dengan tepat. Pelayan tidak boleh menyimpan apa-apa maklumat antara permintaan dari pelanggan. Ini adalah urutan soal jawab bebas yang sangat mudah. Pelanggan mengemukakan soalan, pelayan menjawabnya dengan tepat. Pelanggan akan mengemukakan soalan lain. Pelayan tidak akan mengingati senario soal jawab sebelumnya dan perlu menjawab soalan baru secara bebas.
- Cache
Konsep Cache adalah untuk mengatasi masalah tanpa kewarganegaraan yang telah dijelaskan pada titik terakhir. Oleh kerana setiap permintaan pelanggan pelayan bersifat bebas, kadang-kadang pelanggan mungkin meminta pelayan untuk permintaan yang sama sekali lagi. Ini walaupun sudah memintanya pada masa lalu. Permintaan ini akan masuk ke pelayan, dan pelayan akan memberikan respons. Ini meningkatkan lalu lintas di seluruh rangkaian. Cache adalah konsep yang dilaksanakan pada klien untuk menyimpan permintaan yang telah dihantar ke pelayan. Oleh itu, jika permintaan yang sama diberikan oleh klien, bukannya pergi ke pelayan, ia akan pergi ke cache dan mendapatkan maklumat yang diperlukan. Ini menjimatkan jumlah lalu lintas rangkaian dari pelanggan ke pelayan.
- Sistem Berlapis
Konsep sistem berlapis adalah bahawa setiap lapisan tambahan seperti lapisan middleware dapat disisipkan antara klien dan pelayan sebenarnya yang mengehoskan perkhidmatan web RESTFul (Lapisan middleware adalah tempat semua logik perniagaan dibuat. Ini boleh menjadi perkhidmatan tambahan dibuat dengan yang pelanggan boleh berinteraksi sebelum membuat panggilan ke perkhidmatan web.). Tetapi pengenalan lapisan ini perlu telus agar tidak mengganggu interaksi antara klien dan pelayan.
- Kontrak antara muka / seragam
Ini adalah teknik asas bagaimana perkhidmatan web RESTful harus berfungsi. RESTful pada dasarnya berfungsi pada lapisan web HTTP dan menggunakan kata kerja utama di bawah untuk bekerja dengan sumber pada pelayan
- POST - Untuk membuat sumber pada pelayan
- DAPATKAN - Untuk mendapatkan sumber dari pelayan
- PUT - Untuk mengubah keadaan sumber atau mengemas kini
- HAPUS - Untuk membuang atau menghapus sumber dari pelayan
Buat perkhidmatan web Restful pertama anda di ASP.NET
Sekarang dalam tutorial REST API ini, kita akan belajar bagaimana membuat perkhidmatan web yang tenang di ASP.NET:
Perkhidmatan web boleh dibuat dalam pelbagai bahasa. Banyak persekitaran pembangunan bersepadu dapat digunakan untuk membuat perkhidmatan berdasarkan REST.
Dalam contoh RESTful API ini, kami akan membuat aplikasi REST kami di. Net menggunakan Visual Studio. Dalam contoh kami, untuk perkhidmatan web yang tenang, kami akan meniru contoh perkhidmatan REST berikut.
Kami akan mempunyai perkhidmatan web yang tenang yang akan berfungsi pada set data di bawah ini.
Kumpulan data di bawah menunjukkan contoh REST API mempunyai syarikat yang mendedahkan Tutorial yang mereka miliki berdasarkan Tutorialid.
Tutorialid | Nama Tutorial |
0 | Susunan |
1 | Beratur |
2 | Tumpukan |
Dalam contoh tutorial API REST kami, kami akan melaksanakan Kata Kerja Rehat di bawah.
- DAPATKAN Tutorial - Apabila pelanggan meminta API Tenang ini, mereka akan diberikan keseluruhan set Tutorial yang tersedia dari perkhidmatan web.
- DAPATKAN Tutorial / Tutorialid - Apabila pelanggan meminta API Tenang ini, mereka akan diberi nama Tutorial berdasarkan Tutorialid yang dihantar oleh pelanggan.
- POST Tutorial / Nama Tutorial - Apabila pelanggan memanggil API Restful ini, klien akan mengemukakan permintaan untuk memasukkan nama Tutorial. Perkhidmatan web kemudian akan menambahkan nama Tutorial yang dihantar ke koleksi.
- HAPUS Tutorial / Tutorialid- Apabila pelanggan meminta API Tenang ini, pelanggan akan mengemukakan permintaan untuk menghapus nama Tutorial berdasarkan Tutorialid. Perkhidmatan web kemudian akan menghapus nama Tutorial yang dihantar dari koleksi.
Mari ikuti langkah-langkah berikut dalam tutorial RESTful API ini untuk membuat perkhidmatan web RESTful pertama kami, yang melaksanakan pelaksanaan di atas.
Langkah 1) Langkah pertama adalah membuat aplikasi Web Asp.Net kosong. Dari Visual Studio 2013, klik pada pilihan menu Fail-> Projek baru.
Sebaik sahaja anda mengklik pilihan Projek Baru, Visual Studio kemudian akan memberi anda kotak dialog lain untuk memilih jenis projek dan memberikan butiran projek yang diperlukan. Ini dijelaskan pada langkah seterusnya tutorial RESTful API ini
Langkah 2) Dalam langkah ini,
- Pastikan untuk memilih templat web C # web RESTful yang pertama dari aplikasi Web ASP.NET. Projek mestilah jenis ini untuk membuat projek perkhidmatan web. Dengan memilih pilihan ini, Visual Studio kemudian akan melakukan langkah-langkah yang diperlukan untuk menambahkan fail yang diperlukan yang diperlukan oleh aplikasi berbasis web apa pun.
- Beri nama untuk projek anda yang dalam kes kami telah diberikan sebagai "Webservice.REST".
- Kemudian pastikan untuk memberikan lokasi, di mana fail projek akan disimpan.
Setelah selesai, anda akan melihat fail projek yang dibuat dalam penjelajah penyelesaian anda di Visual Studio 2013.
Langkah 3) Langkah seterusnya adalah membuat fail perkhidmatan web yang akan mempunyai perkhidmatan web RESTful
- Klik kanan pertama pada fail projek seperti gambar di bawah
- Dalam langkah ini,
- Klik kanan pada fail projek
- Pilih pilihan "Tambah-> item baru."
Dalam kotak dialog yang muncul, anda perlu melakukan perkara berikut
- Pilih pilihan Perkhidmatan WCF (Ajax-enabled) - Pilih fail jenis ini, menyebabkan studio Visual menambah beberapa kod asas yang membantu seseorang membuat perkhidmatan web RESTful. WCF bermaksud Windows Communication Foundation. WCF adalah perpustakaan untuk aplikasi dari pelbagai platform atau platform yang sama untuk berkomunikasi melalui pelbagai protokol seperti TCP, HTTP, HTTPS. Ajax pada dasarnya adalah JavaScript dan XML Asinkron. AJAX membolehkan laman web dikemas kini secara tidak serentak dengan menukar sejumlah kecil data dengan pelayan di belakang tabir.
- Seterusnya beri nama untuk perkhidmatan yang merupakan TutorialService dalam kes kami.
- Akhirnya, klik butang Tambah untuk menambahkan perkhidmatan ke penyelesaiannya.
Langkah 4) Langkah seterusnya adalah membuat perubahan konfigurasi untuk membolehkan projek ini menyelesaikan kerja dengan perkhidmatan web RESTful. Ini memerlukan perubahan pada fail yang disebut Web.config . Fail ini muncul di tetingkap yang sama dengan fail projek Webservice. Fail Web.config mengandungi semua konfigurasi yang menjadikan aplikasi web berfungsi sebagaimana mestinya. Perubahan yang dilakukan sebenarnya membolehkan aplikasi menghantar dan menerima data sebagai perkhidmatan web RESTful yang murni.
- Klik pada fail Web.config untuk membuka kod
- Cari untuk baris
- Tukar baris ke
Langkah 5) Langkah seterusnya dalam tutorial RESTful API ini adalah menambahkan kod kami untuk pelaksanaan. Semua kod yang disebutkan di bawah mesti ditulis dalam fail TutorialService.svc
- Bit pertama adalah menambahkan kod untuk mewakili data kami yang akan digunakan dalam program kami. Oleh itu, kita akan mempunyai senarai pemboleh ubah rentetan dengan nilai "Array", "Antrian" dan "Tumpukan". Ini akan mewakili nama tutorial yang tersedia melalui perkhidmatan 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) Seterusnya kami akan menentukan kod untuk kaedah GET kami. Kod ini juga akan berada dalam fail TutorialService.svc yang sama. Kod ini akan dijalankan setiap kali kita memanggil perkhidmatan dari penyemak imbas kita.
Kaedah di bawah akan digunakan untuk memenuhi senario yang disebutkan di bawah
- Sekiranya pengguna mahu senarai semua Tutorial tersedia, maka kod di bawah 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 Kod: -
- Baris pertama kod adalah yang paling penting. Ini digunakan untuk menentukan bagaimana kita dapat memanggil kaedah ini melalui URL. Oleh itu, jika pautan ke perkhidmatan web kami adalah http: // localhost: 52645 / TutorialService.svc dan jika kami menambahkan '/ Tutorial' ke URL sebagai http: // localhost: 52645 / TutorialService.svc / Tutorial , kod di atas akan dipanggil. Atribut 'WebGet' adalah parameter yang membolehkan kaedah ini menjadi kaedah RESTful sehingga dapat dipanggil melalui kata kerja GET.
- Bahagian kod ini digunakan untuk memeriksa senarai rentetan dalam pemboleh ubah 'lst' dan mengembalikan semuanya ke program panggilan.
Langkah 7) Kod di bawah memastikan bahawa jika panggilan GET dibuat ke Perkhidmatan Tutorial dengan id Tutorial, maka 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 Kod: -
- Baris pertama kod adalah yang paling penting. Ini digunakan untuk menentukan bagaimana kita dapat memanggil kaedah ini melalui URL. Oleh itu, jika pautan ke perkhidmatan web kami adalah http: // localhost: 52645 / TutorialService.svc dan jika kami menambahkan '/ Tutorial / {Tutorialid}' ke URL, maka kami dapat memanggil perkhidmatan web sebagai http: //localhost:52645/TutorialService.svc/Tutorial/1 sebagai contoh. Perkhidmatan web kemudian perlu mengembalikan nama Tutorial yang mempunyai id Tutorial # 1.
- Bahagian kod ini digunakan untuk mengembalikan "nama Tutorial" yang mempunyai id Tutorial yang diteruskan ke kaedah web.
- Secara lalai, apa yang perlu diingat ialah apa sahaja yang dihantar ke URL di penyemak imbas adalah rentetan.
- Tetapi anda harus ingat bahawa Indeks ke senarai kami harus berupa bilangan bulat, jadi kami menambahkan kod yang diperlukan untuk menukar Tutorialid terlebih dahulu menjadi Integer dan kemudian menggunakannya untuk mengakses kedudukan indeks dalam senarai kami dan
- Kemudian kembalikan nilai ke program panggilan dengan sewajarnya.
Langkah 8) Langkah seterusnya adalah menulis kod untuk kaedah POST kami. Kaedah ini akan digunakan setiap kali kita mahu menambahkan nilai rentetan ke senarai Tutorial kami melalui kaedah POST. Sebagai contoh, jika anda ingin menambahkan nama Tutorial "Pengujian Perisian" maka anda perlu menggunakan kaedah POST.
Penjelasan Kod: -
- Baris pertama adalah atribut 'WebInvoke' yang telah dilampirkan pada kaedah kami. Ini membolehkan kaedah dipanggil melalui panggilan POST. Atribut RequestFormat dan ResponseFormat harus disebut sebagai JSON, kerana ketika mengirim nilai ke perkhidmatan web RESTFul, nilainya harus dalam format ini.
- Baris kedua kod digunakan untuk menambahkan nilai rentetan yang dilalui melalui panggilan POST ke senarai rentetan Tutorial yang ada.
Langkah 9) Akhirnya kami akan menambahkan kaedah kami untuk mengendalikan operasi DELETE. Kaedah ini akan digunakan setiap kali kita mahu menghapus nilai rentetan yang ada dari senarai Tutorial kami melalui kaedah 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 Kod: -
- Baris pertama adalah atribut 'WebInvoke' yang telah dilampirkan pada kaedah kami. Ini membolehkan kaedah dipanggil melalui panggilan POST. Atribut RequestFormat dan ResponseFormat harus disebut sebagai JSON, kerana ketika mengirim nilai ke perkhidmatan web RESTFul, nilainya harus dalam format ini. Perhatikan bahawa parameter Kaedah ditetapkan ke "HAPUS." Ini bermaksud bahawa setiap kali kita mengeluarkan kata kerja DELETE, kaedah ini akan digunakan.
- Baris kedua kod digunakan untuk mengambil Tutorialid yang dihantar melalui panggilan DELETE dan kemudian memadamkan id itu dari senarai kami. ( Fungsi Int32 dalam kod digunakan untuk mengubah ID Tutorial dari pemboleh ubah rentetan menjadi bilangan bulat).
Menjalankan perkhidmatan web Restful pertama anda
Sekarang kami telah membuat seluruh perkhidmatan web kami di bahagian di atas. Mari lihat bagaimana kita dapat menjalankan perkhidmatan Tutorial sehingga dapat dipanggil dari mana-mana pelanggan.
Untuk menjalankan perkhidmatan web, ikuti langkah-langkah di bawah
Langkah 1) Klik kanan pada fail Projek - Webservice.REST
Langkah 2) Pilih pilihan menu 'Tetapkan sebagai Projek StartUp'. Ini akan memastikan bahawa projek ini dijalankan ketika Visual Studio menjalankan keseluruhan penyelesaian
Langkah 3) Langkah seterusnya adalah menjalankan projek itu sendiri. Sekarang bergantung pada penyemak imbas lalai yang dipasang pada sistem, nama penyemak imbas yang sesuai akan muncul di sebelah butang jalankan di Visual Studio. Dalam kes kami, Google Chrome muncul. Cuma klik pada butang ini.
Pengeluaran:-
Semasa projek dijalankan, anda boleh melayari bahagian TutorialService.svc / Tutorial anda, dan anda akan mendapat output di bawah.
Dalam output di atas,
- Anda dapat melihat bahawa penyemak imbas menggunakan kata kerja 'GET' dan menjalankan kaedah 'GetAllTutorial' dalam perkhidmatan web. Modul ini digunakan untuk memaparkan semua Tutorial yang didedahkan oleh perkhidmatan web kami.
Menguji perkhidmatan web Restful pertama anda
Pada bahagian di atas, kita telah melihat bagaimana menggunakan penyemak imbas untuk melaksanakan kata kerja 'GET' dan memanggil 'GetAllTutorial.'
- Sekarang mari kita gunakan penyemak imbas untuk melaksanakan senario kes penggunaan berikut.
DAPATKAN Tutorial / Tutorialid - Apabila pelanggan meminta API Tenang ini, mereka akan diberi nama Tutorial berdasarkan Tutorialid yang dihantar oleh pelanggan
Di penyemak imbas anda, tambahkan rentetan / 1 setelah kata Tutorial di URL. Sekiranya anda menekan butang enter, anda akan mendapat output di bawah
Sekarang anda akan melihat output Queues yang sebenarnya sesuai dengan nombor 1 dalam senarai String Tutorial kami. Ini bermaksud bahawa kaedah 'GetTutorialbyID' kini dipanggil dari Perkhidmatan Web kami. Ini juga menunjukkan bahawa nilai 1 berjaya disampaikan melalui penyemak imbas ke perkhidmatan web dan kaedah kami dan itulah sebabnya kami mendapat nilai "Antrian" yang sesuai dalam penyemak imbas.
- Seterusnya mari kita menggunakan perkhidmatan web kami dengan melaksanakan senario di bawah. Untuk ini, anda perlu memasang alat yang dipanggil "Fiddler" yang merupakan alat muat turun percuma dari laman web ini.
POST Tutorial / Nama Tutorial - Apabila pelanggan memanggil API Restful ini, klien akan mengemukakan permintaan untuk memasukkan nama Tutorial. Perkhidmatan web kemudian akan menambahkan nama Tutorial yang dihantar ke koleksi.
Jalankan alat Filddler dan lakukan langkah di bawah;
- Pergi ke bahagian komposer. Ini digunakan untuk membuat permintaan yang dapat dikirim ke web apa pun
permohonan.
- Pastikan jenis permintaan adalah "POST" dan URL yang betul dipukul, yang dalam kes kita harus http: // localhost: 52645 / TutorialService.svc / Tutorial
- Pastikan Jenis Kandungan ditandai sebagai aplikasi / json. Ingat bahawa kaedah permintaan POST kami di perkhidmatan Web kami hanya menerima data gaya json jadi kami perlu memastikan ini ditentukan ketika kami mengirim permintaan ke aplikasi kami.
- Akhirnya, kita perlu memasukkan data kita. Ingat bahawa kaedah kami untuk POST menerima parameter yang disebut 'str.' Jadi di sini kami menentukan bahawa kami ingin menambahkan nilai yang disebut "Pohon" ke koleksi nama Tutorial kami dan memastikan bahawa ia ditandai dengan nama variabel str.
Akhirnya, klik sahaja butang Execute di fiddler. Ini akan menghantar permintaan ke perkhidmatan web untuk POST data "Pohon" ke perkhidmatan web kami.
Sekarang, apabila kita melayari URL Tutorial untuk menunjukkan semua rentetan dalam senarai Tutorial kami, anda sekarang akan melihat nilai "Pohon" juga ada. Ini menunjukkan bahawa permintaan POST ke perkhidmatan web berjaya dilaksanakan dan bahawa ia berjaya ditambahkan ke Daftar Tutorial kami.
- Seterusnya mari kita menggunakan perkhidmatan web kami dengan melaksanakan senario di bawah. Untuk ini juga kita perlu menggunakan alat fiddler
HAPUS Tutorial / Tutorialid- Apabila pelanggan meminta API Tenang ini, pelanggan akan mengemukakan permintaan untuk menghapus nama Tutorial berdasarkan Tutorialid. Perkhidmatan web kemudian akan menghapus nama Tutorial yang dihantar dari koleksi.
Jalankan alat Filddler dan lakukan langkah-langkah di bawah
- Pergi ke bahagian komposer. Ini digunakan untuk membuat permintaan yang dapat dikirim ke web apa pun
permohonan.
- Pastikan jenis permintaan adalah "HAPUS" dan URL yang betul dipukul, yang dalam kes kita harus http: // localhost: 52645 / TutorialService.svc / Tutorial . Pastikan bahawa id yang digunakan untuk menghapus rentetan dalam daftar yang dikirim melalui URL sebagai parameter. Dalam contoh REST kami, kami hantar 1 jadi ini akan memadam 2 nd elemen dalam koleksi kami iaitu "beratur".
Akhirnya, klik sahaja butang Execute di fiddler. Ini akan mengirimkan permintaan ke perkhidmatan web untuk MENGHAPUS data "Antrian" ke perkhidmatan web kami.
Sekarang, semasa kita melayari URL Tutorial untuk menunjukkan semua rentetan dalam senarai Tutorial kami, anda akan melihat bahawa nilai "Antrian" sudah tidak ada lagi.
Ini menunjukkan bahawa permintaan DELETE ke perkhidmatan web berjaya dilaksanakan. Elemen pada indeks no 1 dalam senarai rentetan Tutorial kami berjaya dipadamkan.
Ringkasan
- REST adalah singkatan dari REpresentational State Transfer. REST digunakan untuk membina perkhidmatan web yang ringan, dapat dikendalikan, dan boleh ditingkatkan.
- Semakin banyak aplikasi beralih ke senibina Restful. Ini kerana terdapat banyak orang sekarang menggunakan peranti mudah alih dan pelbagai aplikasi yang lebih luas bergerak ke awan.
- Aspek utama REST adalah sumber yang berada di pelayan dan kata kerja GET, POST, PUT dan DELETE, yang dapat digunakan untuk bekerja dengan sumber-sumber ini.
- Visual Studio dan.Net boleh digunakan untuk membuat perkhidmatan web yang tenang.
- Semasa Menguji perkhidmatan web untuk POST dan PUT, anda perlu menggunakan alat lain yang disebut fiddler yang dapat digunakan untuk mengirim permintaan POST dan PUT ke pelayan.