Pengaturcaraan

RESTful – Panduan Pantas Untuk Pemula

30 Oktober 2021

Jika anda ingin membina sebuah antara muka program aplikasi (API) untuk aplikasi web, RESTful digunakan. Apakah antara muka program aplikasi (API)? Antara Muka Program Aplikasi ialah pengantara antara mana-mana dua aplikasi perisian. Ia membolehkan dua aplikasi perisian untuk berkomunikasi antara satu sama lain dengan selamat dan terjamin. Aplikasi API biasa dalam kehidupan seharian menggunakan Facebook, menggunakan aplikasi berbual atau menggunakan aplikasi ramalan cuaca pada telefon mudah alih.

Mari kita lihat satu contoh mudah untuk memahami apa sebenarnya API? Pertimbangkan contoh restoran. Kami pergi ke restoran dan makan makanan pilihan kami. Apa yang kami lakukan ialah kami memerhati kad menu dan memberitahu pelayan tentang item pilihan anda dari menu. Pelayan kemudian memaklumkan pesanan anda kepada bahagian dapur, dan makanan anda disediakan. Selepas makanan siap, pelayan menghidangkannya di meja anda untuk anda. Di sini, pelayan adalah antara muka antara anda dan bahagian dapur. Perkara yang sama berlaku semasa dua sistem berkomunikasi.

Antara muka program aplikasi (API) dikategorikan kepada empat jenis utama, OpenAPI, API Rakan Kongsi, API Dalaman dan API Komposit. OepnAPI dibenarkan untuk diakses oleh semua orang, kerana ia tersedia secara terbuka. Dalam API Rakan Kongsi, pengguna tertentu memerlukan hak yang sesuai untuk mengaksesnya, kerana ia tidak dibangunkan untuk kegunaan awam. API Dalaman direka khas untuk kegunaan dalaman syarikat. Akhir sekali, API komposit biasanya digunakan untuk mempercepatkan operasi dan prestasi syarikat.

Jenis API lain ialah API perkhidmatan web. Terdapat empat API perkhidmatan web utama, SOAP, XML-RPC, JSON-RPC dan REST. SOAP bermaksud a Protokol Akses Objek Mudah , yang memindahkan data menggunakan format XML. API SOAP melibatkan penggunaan Bahasa Definisi Perkhidmatan Web (WSDL) untuk menentukan antara mukanya. API perkhidmatan web lain ialah XML-RPC . Seperti namanya, ia menggunakan borang XML untuk perkongsian data. API XML-RPC lebih ringkas dan lebih mudah diakses daripada API SOAP.

API perkhidmatan web seterusnya ialah JSON-RPC . Ia adalah API yang sama seperti XML, tetapi ia menggunakan format JSON untuk perkongsian data. Akhir sekali, REST API adalah berbeza daripada ketiga-tiga di atas. Ia adalah koleksi piawaian seni bina. REST API juga dipanggil RESTful API. Ia adalah salah satu API perkhidmatan web yang biasa digunakan, kerana ia memerlukan lebar jalur yang sangat kurang.

Dalam artikel ini, kita akan melihat panduan ringkas tentang perkhidmatan web RESTful. Siaran ini akan membantu anda mempelajari semua tentang perkhidmatan web RESTful. Kami telah menerangkan konsep perkhidmatan web RESTful dengan lebih mudah dengan contoh mudah. Satu perkara yang perlu diingat sebelum memulakan memahami yang RESTful API ialah anda mesti mempunyai pengetahuan yang lebih baik tentang bahasa pengaturcaraan Java, HTML, CSS, AJAX, dan Editor Teks, kerana RESTful ialah perkhidmatan web untuk membangunkan aplikasi web. Jadi, mari kita mulakan tutorial RESTful API kami.

Isi kandungan

Apakah itu RESTful Web Service API?

Sebelum kita mengetahui apa itu RESTful API, kita hendaklah mengetahui terlebih dahulu apakah perkhidmatan web itu sebenarnya. A perkhidmatan web ialah satu set piawaian atau prinsip yang diperlukan untuk berkongsi atau bertukar-tukar data antara sistem. Hari ini, kami menggunakan berbilang aplikasi pada telefon mudah alih dan desktop kami. Aplikasi ini ditulis dalam pelbagai bahasa pengaturcaraan, dan masih, ia berfungsi pada sistem pengendalian yang berbeza. Perkhidmatan web membolehkan anda mengakses aplikasi perisian tertentu pada sistem pengendalian yang berbeza.

API RESTful ialah API perkhidmatan web. Ia termasuk koleksi piawaian seni bina dan menggunakan protokol HTTP untuk mengakses dan menggunakan data tertentu. REST membayangkan Pemindahan Negeri Perwakilan . Dalam API RESTful, setiap komponen yang terlibat dianggap sebagai sumber. Anda boleh mengakses sumber ini menggunakan protokol HTTP kaedah.

Terdapat pelayan dan pelanggan yang terlibat dalam API RESTful. Pelanggan REST API boleh mengakses sumber yang disediakan oleh pelayan dan memanipulasinya. Setiap sumber mempunyai URI atau ID global yang berasingan. Menggunakan URI atau ID global, kami boleh mengenal pasti sumber dalam API RESTful. URI membayangkan a Pengecam Sumber Seragam . Anda boleh menggunakan format teks, XML.JSON atau JSON dalam REST API untuk perwakilan sumber.

Perkhidmatan web RESTful biasanya digunakan oleh pengguna awan, membolehkan mereka mengakses dan mengurus perkhidmatan web. API REST berfungsi sebagai salah satu pilihan yang paling diingini untuk mencipta API yang teguh. API yang dibina menggunakan seni bina REST membenarkan pengguna berinteraksi dengan perkhidmatan awan secara terurus. Beberapa tapak web popular yang menggunakan perkhidmatan web RESTful untuk membuat API mereka ialah Perkhidmatan Web Amazon (AWS), Twitter, LinkedIn dan Google.

Mengerjakan API Perkhidmatan Web RESTful

Kami telah melihat penerangan ringkas tentang perkhidmatan web RESTful. Sekarang, beritahu kami cara kerja RESTful API. API RESTful memecahkan setiap transaksi antara mana-mana dua aplikasi kepada beberapa modul yang lebih kecil. Di sini, transaksi membayangkan pertukaran data atau maklumat. Setiap modul menyimpan maklumat penting urus niaga. Oleh itu, pembangun berasa selesa dan fleksibel dalam membina API untuk sebarang aplikasi web.

Hari ini, banyak syarikat, seperti Antara Muka Pengurusan Data Awan (CDMI), AmazonS3, dsb., menawarkan model khusus mereka untuk membangunkan API. Terdapat banyak arahan dalam perkhidmatan web API RESTful untuk mengakses sumber. Perwakilan sumber mentakrifkan keadaan sumber tertentu pada cap masa tertentu.

Kaedah HTTP dalam API perkhidmatan web RESTful

API perkhidmatan web RESTful menggunakan protokol HTTP untuk mengakses dan memanipulasi sumber. Terdapat empat kaedah HTTP utama yang digunakan dalam perkhidmatan web RESTful, GET, PUT, POST, DELETE. Beritahu kami secara ringkas setiap kaedah HTTP ini.

    DAPATKAN:Kaedah GET membolehkan pengguna mengakses sumber RESTful API. Tetapi, mereka tidak boleh diubah atau dimanipulasi. Menggunakan kaedah GET, anda hanya boleh membaca sumber.LETAK:Kaedah HTTP PUT membolehkan anda mengubah suai sumber atau menukar keadaannya. Ia juga membenarkan anda mencipta satu lagi sumber baharu.POS:Anda boleh menggunakan kaedah POST untuk mencipta sumber baharu.PADAM:Kaedah HTTP DELETE digunakan untuk memadam sumber.

API perkhidmatan web RESTful menyokong beberapa format data, seperti application/xml, application/json, application/x-www-form-urlencoded, application.x-web+xml dan multipart/form-data.

Sifat dan Kekangan Seni Bina API RESTful

Dr. Roy Fielding ialah pembangun API perkhidmatan web RESTful. Di bawah ialah beberapa sifat penting dan kekangan seni bina API RESTful.

Sifat RESTful API

  1. API RESTful menawarkan prestasi tinggi kepada pengguna akhir. Apabila pengguna mengklik mana-mana pautan, dia diberikan hasil segera. Dan pembangun menyampaikan semua perkhidmatan kepada pengguna.
  2. Satu lagi sifat API RESTful ialah kebolehskalaan. API RESTful menyediakan perkhidmatan secara tetap walaupun pengguna bertambah atau berkurang.
  3. API RESTful mempunyai antara muka yang seragam. Semua sumber dikenal pasti menggunakan URI masing-masing. Oleh itu, antara muka seragam ini menjadikan API RESTful mudah.
  4. Harta seterusnya ialah kebolehubahsuaian. Sebarang perubahan dalam sistem harus berlaku dengan mudah dan selesa.
  5. Seni bina API RESTful sangat mudah alih dan boleh dipercayai.

Kekangan Seni Bina API RESTful

Untuk mana-mana API perkhidmatan web RESTful, enam syarat seni bina di bawah mesti dipegang.

  1. Kekangan seni bina pertama untuk API perkhidmatan web RESTful ialah ia harus menggunakan antara muka yang seragam. Semua sumber API RESTful harus dikenal pasti menggunakan Uniform Resource Identifiers (URI) masing-masing. Ia mesti diakses dan dimanipulasi hanya melalui empat kaedah HTTP, PUT, POST, GET dan DELETE.
  2. Pelanggan dan pelayan dalam API RESTful harus mempunyai perwakilan yang tepat. Pelanggan mengendalikan antara muka seragam dan pengumpulan permintaan. Sebaliknya, pelayan mengawal selia keselamatan, akses data dan pengurusan beban kerja. Pelayan memegang semua sumber, dan klien meminta sumber daripada pelayan.
  3. Satu lagi kekangan seni bina untuk API perkhidmatan web RESTful ialah operasi tanpa negara. Pelanggan dan pelayan dalam API RESTful harus mengikut fungsi tanpa kewarganegaraan. Semua operasi pengurusan negeri hendaklah dijalankan di sisi pelanggan.
  4. Semua API perkhidmatan web RESTful harus melakukan caching. Jika diwakili bahawa caching tidak boleh dilakukan, maka hanya caching tidak boleh dilakukan.
  5. Seni bina aplikasi tertentu harus mengandungi pelayan pada berbilang lapisan. Satu lapisan tidak sepatutnya mempunyai sebarang maklumat mengenai lapisan lain, kecuali lapisan terdekatnya.
  6. Secara amnya, pelayan menghantar perwakilan statik sumber kepada klien dalam format XML atau JSON. Ia juga harus menghantar kod boleh laku kepada klien apabila diperlukan.

Dalam segmen selanjutnya, kita akan belajar cara menjana perkhidmatan web menggunakan kaedah HTTP. Kami akan menggunakan dua kaedah HTTP, GET dan POST, untuk mencipta pengurusan pengguna. Berikut adalah beberapa fungsi penting yang digunakan:

  1. Menggunakan kaedah HTTP GET dengan isi POST kosong, kami akan memaparkan senarai yang mengandungi nama pengguna. Ambil Pengecam Sumber Seragam sebagai /Pengguna/Perkhidmatan/pengguna .
  2. Kemudian, kami akan menambah butiran setiap pengguna ke dalam senarai. Untuk tujuan ini, kami akan menggunakan kaedah HTTP POST, dengan JSON String dalam badan POST. Gunakan URI sebagai /User/Service/addUser .
  3. Akhir sekali, kami akan memaparkan butiran pengguna berasingan menggunakan kaedah HTTP GET. Pastikan isi POST kosong dan gunakan URI sebagai /User/Service/getUser/:id .

Persediaan Persekitaran untuk Perkhidmatan Web RESTful

Untuk bekerja dengan perkhidmatan web RESTful, kami akan menggunakan Rangka Kerja Jersi . Rangka kerja ini melaksanakan spesifikasi standard, dipanggil JAX-RS 2.0 API. Menggunakan spesifikasi ini, kami boleh menjana perkhidmatan web RESTful. Sebelum kita bergerak ke arah Rangka Kerja Jersi, kita akan belajar untuk menyediakan persekitaran Eclipse, Tomcat dan JDK pada sistem komputer anda. Kami telah menerangkan penyediaan ketiga-tiga persekitaran pada sistem dengan langkah yang tepat dan mudah.

Bagaimana untuk menyediakan Kit Pembangunan Java (JDK)?

The Kit Pembangunan Java (JDK) adalah salah satu pakej penting yang digunakan untuk menjalankan kod Java. Pakej JDK dalam Java membolehkan pengguna menulis program Java. Anda perlu memuat turun pakej ini, bernama JavaSE, daripada ini laman web :

Selepas memuat turun, pasangkannya dengan bantuan garis panduan yang disediakan. Setelah selesai, anda perlu membetulkan pembolehubah persekitaran PATH dan JAVA_HOME ke tempat di mana 'java' dan 'javac' hadir. Secara amnya, 'java' terdapat dalam java_install_dir/bin dan 'javac' terdapat dalam 'java_install_dir.'

Untuk membetulkan pembolehubah persekitaran PATH dan JAVA_HOME pada sistem Windows XP, NT atau 2000, pergi ke 'Komputer Saya, klik kanan padanya, dan klik pada 'Properties.' Anda akan melihat 'tab Lanjutan.' Klik padanya dan kemudian klik pada 'Pembolehubah Persekitaran.' Tukar PATH dan pembolehubah persekitaran JAVA_HOME dengan lokasi 'java' dan 'javac' pada sistem, dan klik pada butang 'OK'. Persediaan pembolehubah persekitaran anda telah selesai.

Untuk sistem Linux dan Solaris, ikuti langkah di bawah. Pertimbangkan anda menggunakan cangkerang C dan anda telah memuat turun fail JavaSE di lokasi /usr/local/jdk1.7.9_75. Kemas kini fail '.cshrc' dengan arahan di bawah:

|_+_|

Bagaimana untuk menyediakan Eclipse IDE?

Perkara pertama yang perlu anda ikuti ialah memuat turun binari terkini Eclipse daripada rasminya laman web .

Selepas memuat turun binari Eclipse terbaharu, letakkannya di lokasi yang betul pada sistem anda. Pertimbangkan kami telah menemui binari Eclipse pada sistem Windows dalam C:eclipse. Kami akan mencari binari Eclipse di lokasi /usr/local/eclipse untuk sistem Linux atau Unix. Selepas anda meletakkannya di lokasi yang betul, betulkan pembolehubah PATH ke tempat di mana anda telah menyimpan binari Eclipse.

Untuk memulakan Eclipse, klik dua kali pada fail eclipse.exe, atau anda boleh taip arahan di bawah pada prompt arahan Windows.

|_+_|

Jika anda menggunakan Eclipse pada sistem Linux atau Solaris, gunakan arahan di bawah untuk memulakannya.

|_+_|

Jika semuanya berjalan lancar dan persediaan adalah betul, aplikasi akan bermula dan skrin muncul untuk menulis kod.

Bagaimana untuk menyediakan Apache Tomcat?

Di sini, kami akan memahami cara memasang dan menyediakan persekitaran sistem anda untuk Apache Tomcat. Mula-mula, anda perlu memuat turun versi Tomcat terkini mengenai perkara ini laman web .

Selepas memuat turun versi Tomcat terbaharu ini, letakkannya di lokasi yang sesuai pada sistem anda.

Mari kita pertimbangkan kami meletakkan fail Tomcat Apache pada sistem Windows di lokasi C:apache-tomcat-7.0.59. Kami akan meletakkan fail Apache Tomcat di lokasi /usr/local/apache-tomcat-7.0.59 pada Linux atau sistem Solaris. Selepas itu, anda perlu membetulkan pembolehubah persekitaran CATALINA_HOME ke tempat anda menyimpan fail Tomcat Apache yang dimuat turun.

Anda boleh memulakan aplikasi Tomcat pada sistem Windows anda dengan mengklik fail startup.bat. Anda juga boleh menggunakan arahan berikut untuk memulakan aplikasi Tomcat.

|_+_|

atau

|_+_|

Jika anda menggunakan aplikasi Tomcat pada sistem Linux atau Solaris, anda perlu mengikut mana-mana satu daripada arahan di bawah untuk memulakannya.

|_+_|

atau

|_+_|

Apabila semuanya baik-baik saja, skrin muncul di mana anda boleh menulis kod dan menjalankannya. Semua aplikasi lalai dengan Tomcat akan tersedia dengan melawati di bawah laman web :

Maklumat lengkap tentang konfigurasi Tomcat dan menjalankan program padanya tersedia di laman web .

Jika anda ingin menghentikan aplikasi Tomcat pada sistem Windows, taip mana-mana satu daripada arahan berikut.

|_+_|

atau

|_+_|

Anda boleh menaip mana-mana satu daripada dua arahan yang dinyatakan di bawah untuk menutup aplikasi Tomcat.

|_+_|

atau

|_+_|

Bagaimana untuk menyediakan Perpustakaan Rangka Kerja Jersi?

Selepas menyediakan JDK, Eclipse dan Tomcat Apache, anda kini boleh pergi untuk menyediakan Rangka Kerja Jersey. Ikuti garis panduan di bawah secara berurutan untuk memuat turun Rangka Kerja Jersi.

  1. Pertama, anda perlu memutuskan sistem pengendalian, seperti Windows atau Unix, untuk memasang Rangka Kerja Jersey padanya. Jika anda memilih sistem Windows, muat turun fail .zip dan untuk sistem Unix, muat turun fail .tz.
  2. Langkah seterusnya ialah memuat turun binari Rangka Kerja Jersey terbaru dari bawah laman web .
  3. Selepas memuat turun fail .zip pada sistem Windows, anda perlu menyahzipnya. Katakan anda telah memuat turun fail jaxrs-ri-2.17.zip. Selepas membuka zip fail ini, ia menyediakan struktur direktori di lokasi E:jaxrs-ri-2.17jaxrs-ri.
  4. Semua perpustakaan Jersey akan berada dalam direktori C:jaxrs-ri-2.17jaxrs-rilib, dan kebergantungan akan hadir di C:jaxrs-ri-2.17jaxrs-riext.
  5. Kemudian, betulkan pembolehubah CLASSPATH ke tempat di mana perpustakaan Jersey anda terdapat, C:jaxrs-ri-2.17jaxrs-rilib direktori. Ingat bahawa tidak ada keperluan untuk membetulkan pembolehubah CLASSPATH untuk Rangka Kerja Jersey jika anda menggunakan aplikasi Eclipse.

Anda kini tahu cara menyediakan persekitaran untuk perkhidmatan web RESTful. Ikuti semua langkah di atas, dan anda akan bersedia untuk menulis contoh Jersi.

Contoh Pertama RESTful – Jersi (JAX-RS)

Selepas menyediakan persekitaran Java, Tomcat Apache, Eclipse dan Rangka Kerja Jersey, anda boleh mula membina aplikasi web menggunakan API RESTful. Mari kita lihat satu contoh dalam Rangka Kerja Jersey untuk mendapatkan idea yang tepat tentang menulis program dalam API RESTful. Anda perlu mengikuti langkah-langkah di bawah yang dinyatakan secara berurutan untuk menjalankan program dengan jayanya.

Langkah 1: Buat Projek Java

Buat projek Java menggunakan Eclipse IDE. Di sini, kami akan mencipta Projek Web Dinamik. Di bawah adalah langkah-langkah untuk membangunkan Web Dinamik Projek dalam IDE Eclipse.

  1. Mulakan aplikasi Eclipse dari sistem anda. Klik pada pilihan Fail, klik pada Baharu, dan pilih Projek Baharu.
  2. Kemudian, pilih wizard Projek Web Dinamik daripada senarai wizard.
  3. Selepas memilih wizard, berikan nama yang dikehendaki pada projek anda, katakan FirstRestExample .
  4. Apabila anda menyimpan nama projek anda dalam tetingkap wizard, pergi ke Project Explorer, dan anda akan melihat nama projek anda di sana.

Langkah 2: Tambah Perpustakaan yang Diperlukan

Selepas mencipta projek dan menyimpannya dengan nama tertentu, anda perlu menambah perpustakaan dan kebergantungan Jersey Framewoek pada projek anda. Kami telah menyenaraikan nama fail jar untuk disalin dalam direktori WEB-INF/lib bagi projek yang dibuat daripada folder zip jersi.

  • jaxrs-ri-2.17jaxrs-riapi
  • jaxrs-ri-2.17jaxrs-riext
  • jaxrs-ri-2.17jaxrs-rilib

Untuk menambah fail balang di atas yang disebut pada projek anda, klik kanan pada projek anda, FirstRestExample . Klik pada pilihan Build Path dan kemudian pergi ke Configure Build Path. Di sini, anda akan melihat tetingkap yang memaparkan Laluan Binaan Java. Selain itu, anda akan melihat butang Tambah JAR di bawah menu Perpustakaan. Tambahkan fail jar dalam direktori WEB-INF/lib.

Langkah 3: Cipta fail sumber

Kami telah mencipta projek kami, bernama FirstRestExample, dalam Eclipse IDE. Sekarang, kita perlu mencipta fail sumber untuk projek ini. Untuk membuat fail sumber, kami mula-mula perlu membuat pakej, katakan com.restexample. Pergi ke penjelajah pakej dan klik kanan pada pilihan src. Anda akan menemui pilihan Baharu. Klik padanya dan kemudian klik pada pilihan Pakej.

Di sini anda perlu mencipta tiga fail berbeza di bawah pakej com.restexample. Mari kita namakan fail sebagai EmployeeService.java, Employee.java dan EmployeeDao.java. Dalam tiga fail, anda buat di bawah pakej com.restexmaple, dan anda perlu menulis kod tersebut. Kami mula-mula akan menulis kod dalam fail Employee.java.

Employee.java

|_+_|

EmployeeDao.java

|_+_|

EmployeeService.java

|_+_|

Dalam fail EmployeeService.java di atas, anda mesti ingat bahawa kami telah menggunakan anotasi @Path untuk menentukan laluan untuk perkhidmatan web. Selain itu, kami juga telah mewujudkan laluan untuk kaedah perkhidmatan web tertentu menggunakan anotasi @Path.

Langkah 4: Cipta fail Web.xml

Akhir sekali, kita perlu mencipta fail Web.xml. Objektif utama fail Web.xml adalah untuk menetapkan servlet Rangka Kerja Jersey untuk aplikasi yang sedang dibangunkan.

web.xml

|_+_|

Langkah5: Susun dan Jalankan Program

Selepas menulis semua empat fail di atas yang dinyatakan, anda kini bersedia untuk menyusun iklan menjalankan program. Kami telah menggunakan Eclipse IDE untuk menulis semua program di atas. Oleh itu kita perlu mengeksport aplikasi di atas dalam fail perang. Kemudian, kita perlu menyusun dan menjalankan fail perang ini dalam alat Tomcat Apache.

Kami akan menunjukkan di bawah cara membuat fail perang dalam Eclipse IDE.

  • Pada Eclipse IDE, pergi ke pilihan Fail, klik pada Eksport -> Kami -> Fail Perang. Di sana anda perlu memilih projek anda FirstRestExample dan folder sasaran.
  • Kemudian, anda perlu mencari fail FirstRestExample.war dalam fail Direktori Pemasangan Tomcat pilihan direktori webapps . Dan mulakan aplikasi Tomcat.

Selepas meletakkan fail perang dalam direktori webapps Tomcat, anda boleh menjalankan aplikasi anda. Kami akan menggunakan sambungan Chrome, Posmen , untuk menguji aplikasi kami. Langkah seterusnya ialah meletakkan semua pekerja di POSTMAN. Untuk tujuan ini, gunakan baris kod di bawah

|_+_|

Untuk menggunakan baris kod di atas dalam Apache Tomcat, gunakan kaedah HTTP GET. Berikut ialah aplikasi perkhidmatan web pertama anda sedia.

Mesej dalam API Perkhidmatan Web RESTful

Dalam API RESTful, pelanggan dan pelayan berkomunikasi antara satu sama lain menggunakan protokol HTTP. Komunikasi berlaku apabila klien menghantar Permintaan HTTP kepada pelayan, dan pelayan membalas kepada klien dengan Respons HTTP. Komunikasi antara klien dan pelayan menggunakan protokol HTTP dirujuk sebagai Mesej. Satu mesej HTTP mengandungi data mesej dan metadata. Metadata ialah maklumat mesej.

Sekarang, mari kita lihat Permintaan HTTP dan Respons HTTP dalam API perkhidmatan web RESTful.

Permintaan HTTP

Pelanggan mengarahkan permintaan HTTP ke pelayan. Ia meminta sumber daripada pelayan. Terdapat lima bahagian utama yang disertakan dalam Permintaan HTTP, Kata Kerja, URI, versi HTTP, Pengepala Permintaan dan Badan Permintaan. Berikut ialah format Permintaan HTTP.

REHAT

Mari kita terangkan secara ringkas setiap bahagian Permintaan HTTP.

    Kata kerja:Kata kerja dalam Permintaan HTTP membayangkan empat kaedah HTTP, GET, POST, PUT dan DELETE.Pengecam Sumber Seragam (URI):Bahagian seterusnya Permintaan HTTP ialah Pengecam Permintaan Seragam (URI). URI mengenal pasti setiap sumber secara unik.Versi HTTP:Bahagian ketiga permintaan HTTP ialah versi HTTP. Sebagai contoh, HTTP v1.1, dengan v1.1 ialah versi.Tajuk Permintaan:Pengepala Permintaan mengandungi metadata mesej. Metadata dalam Pengepala Permintaan terdapat dalam pasangan nilai kunci. Ia mungkin mengumpul maklumat, seperti jenis klien, tetapan cache, format mesej, dsb.Badan Permintaan:Badan Permintaan dalam Permintaan HTTP membayangkan perwakilan sumber.

Respons HTTP

Apabila pelayan memperoleh Permintaan HTTP daripada klien, ia membalas kepada klien dengan Respons HTTP. Respons HTTP melibatkan empat bahagian penting, kod Respons, Versi HTTP, Pengepala Respons dan Badan Respons. Di bawah ialah format Respons HTTP.

img 617dd1cb36593

Mari kita bincangkan setiap bahagian Respons HTTP di sini.

    Kod Balasan:

Kod Respons juga dirujuk sebagai Status. Apabila pelanggan meminta sumber daripada pelayan, Kod Respons menunjukkan statusnya. Jika statusnya ialah 404, sumber tidak ditemui. Jika jawapannya ok, statusnya ialah 200.

    Versi HTTP:

Bahagian kedua Respons HTTP ialah versi HTTP. Sebagai contoh, HTTP v1.1, dengan v1.1 ialah versi.

    Tajuk Respons:

Pengepala mengandungi metadata mesej HTTP Response dalam bentuk pasangan nilai kunci. Ia mungkin mempunyai maklumat seperti jenis pelayan, panjang kandungan, data tindak balas, dsb.

    Badan Respons:

Badan Respons termasuk perwakilan sumber.

Dalam contoh API perkhidmatan web RESTful di atas, kami telah meletakkan http://localhost:8080/FirstRestExample/rest/EmployeeService/employees .

Dalam POSTMAN, menggunakan kaedah HTTP GET. Apabila permintaan dihantar menggunakan kaedah GET, kami akan menerima mesej XML seperti berikut. Untuk melihat Respons XML, anda perlu mengklik pada butang Pratonton.

|_+_|

Sumber dalam API Perkhidmatan Web RESTful

Dalam API perkhidmatan web RESTful, setiap kandungan dianggap sebagai sumber. Pelanggan meminta sumber, dan pelayan menyediakan akses kepada sumber tertentu yang diminta oleh klien. Selepas memberikan akses, pelanggan boleh mengubah suai atau menukar sumber. Sumber tersebut boleh berupa halaman HTML, Imej, Fail Teks atau Data Perniagaan.

Terdapat nombor unik untuk setiap sumber dalam seni bina REST. Nombor unik ini dirujuk sebagai Uniform Resource Identifier (URI). Secara amnya, sumber dalam seni bina REST diwakili menggunakan format XML atau JSON. Mari kita lihat perwakilan sumber dalam seni bina REST.

Perwakilan Sumber dalam seni bina REST

Sumber dalam seni bina REST diwakili dalam format XML atau JSON. Anda boleh menganggap sumber REST sebagai entiti dalam pangkalan data atau sebagai objek dalam pengaturcaraan berorientasikan objek. Pertama, sumber itu dikenal pasti menggunakan Pengecam Sumber Seragam (URI). Kemudian, format standard untuk mewakili sumber diputuskan. Apabila klien meminta sumber, pelayan memajukan sumber dalam bentuk yang ditentukan oleh klien.

Dalam contoh RESTful kami di atas, kami mempunyai 'pekerja' sebagai sumber. Mari kita lihat bagaimana sumber 'pekerja' diwakili menggunakan borang XML.

|_+_|

Sekarang, kita akan menggambarkan sumber 'pekerja' yang sama dalam borang JSON.

|_+_|

Dalam seni bina REST, anda boleh mewakili sumber dalam sebarang format. Terdapat kes dalam API perkhidmatan web RESTful di mana seorang pelanggan meminta sumber dalam bentuk XML manakala pelanggan lain meminta sumber yang sama dalam borang JSON. Satu-satunya perkara penting dalam perwakilan sumber ialah ia harus diwakili dalam format sedemikian yang pelanggan boleh memahaminya.

Apabila sumber diwakili dalam sebarang format, terdapat beberapa prasyarat untuk dipertimbangkan. Format sumber hendaklah boleh difahami, lengkap dan boleh dipautkan. Pelanggan dan pelayan dalam seni bina REST harus mengakui format perwakilan sumber dengan cepat. Sebarang borang yang anda pilih untuk mewakili sumber, ia harus memberikan maklumat sumber yang lengkap. Format perwakilan sumber harus membenarkan pautan ke mana-mana sumber lain.

Kebanyakan pembangun menggunakan borang JSON atau XML untuk mewakili sumber dalam seni bina REST. Terdapat banyak alat yang tersedia hari ini untuk mengubah suai data JSON atau XML.

Menangani dalam API Perkhidmatan Web RESTful

Menangani dalam seni bina REST membayangkan mencari sumber yang terdapat pada pelayan. Kami tahu bahawa sumber dikenal pasti oleh Uniform Resource Identifiers (URI) mereka. Format Pengecam Sumber Seragam adalah seperti berikut:

:////

URI mencari sumber tertentu pada pelayan. Dalam contoh di atas, URI ialah

|_+_|

Kami menggunakan kaedah HTTP GET untuk URI di atas.

Anda mungkin tertanya-tanya tentang cara URI dijana. Kami akan membimbing anda dengan beberapa peraturan mudah dalam membina URI untuk sebarang sumber dalam seni bina REST.

  1. Apabila anda mentakrifkan sumber dalam perkhidmatan web anda, sentiasa gunakan bentuk jamak. Dalam contoh aplikasi web RESTful di atas, kami telah mencipta 'pengguna' sumber.
  2. Anda mesti memastikan bahawa nama sumber anda tidak boleh mengandungi sebarang ruang putih atau simbol khas, seperti %, $, @, dll. Anda boleh menggunakan tanda sempang (-) atau garis bawah (_) dalam nama sumber. Contohnya, nama sumber yang betul ialah effective_employees dan bukan effective@employees.
  3. Dalam perkhidmatan web RESTful, URI adalah tidak peka huruf besar-besaran. Tetapi, adalah lebih baik untuk menyimpan URI dalam huruf kecil.
  4. Pastikan anda menggunakan mana-mana Kata Kerja HTTP atau kaedah untuk melaksanakan operasi pada sumber. Dalam aplikasi RESTful di atas, kami menggunakan kaedah HTTP GET.
  5. URI harus diterbitkan secara terbuka, kerana perkhidmatan web adalah perkhidmatan awam.

Mari kita lihat contoh URI yang baik dan buruk untuk mengambil pekerja.

URI yang lemah

|_+_|

URI yang bagus

|_+_|

Java(JAX-RS) dalam API Perkhidmatan Web RESTful

JAX-RS membayangkan Perkhidmatan Web RESTful Jakarta. Terdahulu, ia dikenali sebagai API Java untuk Perkhidmatan Web RESTful. JAX-RS ialah API berasaskan Java yang membolehkan pengguna mencipta perkhidmatan web berdasarkan seni bina REST. Versi JAX-RS terkini ialah 2.0, dikeluarkan pada 2013. API berasaskan java ini menggunakan anotasi daripada Java SE 5, menjadikan pembangunan dan penggunaan perkhidmatan web lebih mudah diurus.

Spesifikasi JAX-RS

Berikut ialah beberapa anotasi yang biasa digunakan untuk memetakan sumber sebagai sumber perkhidmatan web.

    @DAPATKAN:Spesifikasi JAX-RS ini digunakan untuk mengambil sumber.@Laluan:@Path membayangkan laluan kelas atau kaedah yang disertakan dalam perkhidmatan web.@DELETE:Sumber @DELETE memadamkan sumber tertentu.@POST:Spesifikasi di atas dalam JAX-RS mencipta sumber baharu.@LETAK:Spesifikasi JAX-RS ini digunakan untuk mengemas kini sumber sedia ada.@Menggunakan:Spesifikasi @Consumes JAX-RS mewakili jenis Permintaan HTTP.@KEPALA:Kaedah HTTP lain dalam JAX-RS ialah @HEAD, yang menawarkan maklumat tentang sama ada kaedah itu tersedia atau tidak.@QueryParam:Spesifikasi di atas digunakan untuk menggabungkan parameter pertanyaan, dan parameter diserahkan kepada kaedah.@Menghasilkan:Spesifikasi @Produces memaparkan jenis Respons HTTP.@PathParam:Spesifikasi JAX-RS di atas digunakan untuk menggabungkan nilai laluan dengan parameter yang dihantar kepada kaedah.@CookieParam:@CookieParam menggabungkan Cookie dengan parameter yang dihantar kepada kaedah.@MatrixParam:Spesifikasi JAX-RS ini menggabungkan parameter matriks HTTP dengan parameter yang dihantar ke kaedah.@FormParam:Nilai borang digabungkan dengan parameter yang dihantar kepada kaedah menggunakan @FormParam.@HeaderParam:Pengepala HTTP terikat dengan parameter yang dihantar ke kaedah menggunakan @HeaderParam.@Konteks:@Context membayangkan konteks sumber.@Nilai asal:Spesifikasi JAX-RS di atas memberikan parameter yang dihantar kepada kaedah dengan nilai lalai.

Statelessness dan Caching API Perkhidmatan Web RESTful

Ketiadaan negara

Statelessness membayangkan keadaan klien tidak seharusnya hadir pada pelayan. Pelanggan menghantar konteksnya ke pelayan. Pada penerimaan konteks daripada klien, pelayan menyimpan konteks dan menggunakannya untuk permintaan pelanggan selanjutnya. Sebagai contoh, pelanggan menghantar pengecam sesi ke pelayan. Oleh itu, pelayan menyimpannya untuk mengenal pasti sesi.

Kelebihan:

Di bawah ialah beberapa kelebihan ketara tanpa kewarganegaraan dalam API perkhidmatan web RESTful.

  • Menggunakan sifat tanpa kewarganegaraan, perkhidmatan web memproses setiap permintaan kaedah secara individu.
  • Pelayan tidak memegang keadaan klien atau operasi sebelumnya. Oleh itu, ia menjadikan reka bentuk aplikasi lebih mudah.
  • Perkhidmatan web RESTful memproses secara maya pada protokol HTTP.

Keburukan:

  • Memandangkan pelayan tidak mengandungi keadaan klien, perkhidmatan web memerlukan lebih banyak data daripada setiap permintaan daripada klien.

Caching

Pelanggan memegang beberapa sumber daripada pelayan dari segi tindak balas. Oleh itu, pelanggan tidak perlu meminta pelayan berulang kali untuk sumber yang sama. Ini dipanggil caching. Berdasarkan maklumat caching sumber tertentu yang ditawarkan oleh pelayan, pelanggan memutuskan sama ada untuk cache sumber untuk masa tertentu atau tidak menyimpannya.

Terdapat pengepala kawalan cache yang terdiri daripada lima bahagian penting, Awam, Persendirian, umur maksimum, tiada cache/tiada kedai dan mesti sah semula. Mari kita lihat penerangan setiap bahagian di bawah.

    Awam:Mana-mana komponen boleh cache sumber yang Awam.Persendirian:Tiada sesiapa dibenarkan untuk cache sumber. Hanya pelanggan dan pelayan boleh cache sumber.umur maksimum:Elemen umur maks dikira dalam saat. Ia membayangkan berapa lama saat caching sumber itu sah. Setelah masa umur maksimum tamat, pelanggan perlu meminta sumber itu semula.tiada cache/tiada kedai:Pelanggan tidak boleh cache sumber.mesti disahkan semula:Pelayan perlu mengesahkan semula sumber apabila masa umur maksimum untuk caching selesai.

Untuk mengkonfigurasi cache klien, respons pelayan melibatkan pengepala berikut:

    Tarikh:Tarikh dan masa penciptaan sumber diwakili dalam pengepala Tarikh.Kawalan Cache:Pengepala kawalan cache memantau caching.umur:Umur diwakili dalam beberapa saat. Ia adalah masa apabila sumber diterima daripada pelayan.Terakhir Diubah Suai:Pengepala ini memaparkan tarikh dan masa apabila sumber dikemas kini untuk kali terakhir.tamat tempoh:Pengepala ini membayangkan tarikh dan masa tamat caching.

Kaedah HTTP dan Operasinya dalam API RESTful

Dalam bahagian awal, kami telah melihat kaedah HTTP dan kegunaannya. Segmen ini hendaklah memerhatikan kaedah HTTPS, operasinya dan jenis operasi dalam seni bina REST.

    DAPATKAN:

Kaedah GET HTTP dalam contoh aplikasi RESTful di atas digunakan untuk mendapatkan senarai pekerja. Kami menggunakan URI untuk kaedah GET seperti di bawah:

|_+_|

Kaedah HTTP GET memperoleh senarai pekerja. Oleh itu, ia mempunyai jenis operasi baca sahaja.

Kami juga boleh menggunakan kaedah GET untuk mendapatkan semula pekerja Id 1. URI untuk mendapatkan semula pekerja Id 1 ialah,

|_+_|

Operasi ini juga daripada jenis baca sahaja.

    POS:

Dalam contoh aplikasi RESTful kami, kami telah menggunakan kaedah HTTP POST untuk memasukkan pekerja yang mempunyai Id 2. URI untuk memasukkan pekerja untuk Id 2 ialah,

|_+_|

Jenis operasi di atas adalah bukan idempoten.

    PADAM:

Kami boleh menggunakan kaedah HTTP DELETE untuk memadam pekerja dengan Id 1. Di bawah ialah URI untuk memadam pekerja dengan Id 1.

|_+_|

Operasi DELETE adalah daripada jenis idempoten.

    KETUA:

Kaedah HEAD dalam seni bina REST digunakan untuk mengembalikan pengepala HTTP. Ia tidak menyediakan badan HTTP. Untuk contoh Pekerja kami di atas, kami boleh menggunakan URI di bawah.

|_+_|

Operasi ini adalah jenis baca sahaja.

    LETAK:

Dalam aplikasi REST Employee di atas, kita boleh menggunakan kaedah HTTP PUT untuk mengemas kini pekerja dengan Id 2. Gunakan URI di bawah untuk mengemas kini pekerja dengan Id 2.

|_+_|
    PILIHAN:

Kaedah HTTP OPTIONS membolehkan anda menyenaraikan semua operasi yang disokong dalam perkhidmatan web. Anda boleh menggunakan URI berikut untuk operasi ini.

|_+_|

Operasi OPTIONS adalah daripada jenis baca sahaja.

Daripada kaedah HTTP di atas dan operasinya, kita boleh membuat kesimpulan bahawa operasi GET ialah jenis baca sahaja. Operasi DELETE dan PUT adalah daripada jenis idempoten. Hasil daripada kedua-dua operasi ini tetap sama, walaupun ia dilakukan beberapa kali.

Kesimpulan

API RESTful ialah API berasaskan seni bina REST yang menggunakan kaedah HTTP untuk mengakses dan mengatur data. Setiap data dalam seni bina REST dianggap sebagai sumber. Jika anda ingin mempelajari API RESTful, siaran ini adalah panduan lengkap untuk anda.

Kami telah melihat apa itu API perkhidmatan web RESTful, bagaimana ia berfungsi, kaedah HTTP yang digunakan dalam seni bina REST dan sifat & kekangan seni bina REST. Kemudian, kami telah menggambarkan persediaan persekitaran untuk API RESTful. Dalam persediaan persekitaran API RESTful, kami telah menyediakan persekitaran JDK, Tomcat Apache, Eclipse IDE dan Rangka Kerja Jersey. Anda boleh melihat contoh aplikasi RESTful yang mudah dalam tutorial ini.

Seterusnya, kami telah merangkumi beberapa elemen dalam API perkhidmatan web RESTful, seperti mesej, statelessness, caching, sumber dan pengalamatan. Kami juga telah membincangkan Jawa JAX-RS dan spesifikasinya. Akhir sekali, kami telah melihat kaedah HTTP dan operasinya dengan URI dan jenis operasi.