Baiklah semuanya.
Jadi dalam modul ini kita akan belajar semua tentang bagaimana membangun API SISA Anda sendiri.
Sekarang dalam modul sebelumnya kita telah melihat dan menggunakan API adalah yang dibuat orang lain.
Dan kami juga sudah mulai membangun server kami untuk memungkinkan mendapatkan permintaan dan mengirim permintaan.
Tetapi dalam modul ini kita akan melakukannya dari awal hingga akhir dan kita akan membangun
API TENANG lengkap kami sendiri.
Sekarang pertanyaan pertama yang mungkin Anda miliki adalah apa arti sebenarnya dari istirahat dan apa artinya
membuat API tenang.
Kanan.
Yah istirahat tidak bermalas-malasan di sofa dan menonton Netflix tetapi sebenarnya adalah singkatan
dari transfer negara representasional yang cukup menyenangkan.
Tetapi untuk memahaminya kita harus mundur sedikit dan kita harus kembali ke arsitektur
klasik yang kita benar-benar melihat yang merupakan arsitektur klien dan server.
Dan ini adalah arsitektur di mana seluruh internet dibangun.
Jadi mari kita tinjau dengan cepat sehingga klien membuat permintaan ke server.
Jadi apa sebenarnya klien.
Nah, jika kita berada di restoran klien akan baik-baik saja klien yang membayar makan.
Kanan.
Dan server akan menjadi staf server di restoran.
Jadi, ketika klien kami meminta, katakan saya ingin pizza.
Kemudian server harus memeriksa untuk melihat apakah ini adalah sesuatu yang dapat dipenuhi restoran.
Dan jika demikian, dia akan tersenyum ramah kepada Anda dan memenuhi permintaan itu.
Tetapi jika klien meminta sesuatu yang tidak mereka miliki misalnya sosis dan tidak ada
pada menu maka server akan memberi Anda kode kesalahan.
Yang klasik tentu saja empat atau empat yang merupakan sumber daya tidak ada.
Kami tidak menyediakan sosis.
Sekarang ketika klien membuat permintaan itu ke server secara klasik di internet,
ini dilakukan melalui permintaan TTP. Permintaan Hypertext Transfer Protocol.
Dan kita sudah melihat ini ketika kita mengatakan Abdul menerima dan kemudian kita menerima panggilan balik dengan permintaan
dan hasil kita yaitu permintaan itu.
Dan analoginya adalah jenis bahasa yang Anda gunakan untuk mengajukan permintaan.
Katakan Anda mengatakan saya ingin pizza.
Kanan.
Dan jika Anda berada di Prancis, Anda harus mengatakan itu dalam bahasa Prancis meskipun
saya tidak yakin apa yang Anda lakukan makan pizza di Prancis tetapi server akan memahami permintaan Anda dan mengembalikan
hasil yang benar.
Sekarang hal yang harus Anda ingat adalah bahwa usia TTP Hypertext Transfer Protocol ini bukan satu-satunya
bahasa yang dapat digunakan oleh server.
Satu lagi yang mungkin Anda pernah dengar adalah misalnya permintaan FTB yang merupakan permintaan protokol transfer
file.
Jadi, jika Anda menggunakan bahasa yang salah, Anda mungkin tidak mendapatkan kembali hasil yang Anda cari.
Jadi misalnya jika server berbicara bahasa Prancis di Perancis dan Anda mencoba berbicara dengannya dalam bahasa Italia.
Itu mungkin tidak akan berhasil.
Jadi kami harus memastikan kami memiliki bahasa yang tepat untuk mengajukan permintaan kami.
Sekarang pada titik ini beberapa siswa mungkin mengatakan dengan baik bagaimana dengan hal lain yang diminta masing-masing TTP.
Apa artinya itu?
Dan apakah ini bahasa yang berbeda.
Yah, HP S adalah singkatan dari setiap permintaan aman TTP, jadi ingatlah bahwa semua permintaan dan tanggapan
Anda melintasi Internet dan berpotensi disadap oleh banyak orang.
Jadi, jika Anda ingin membuatnya aman maka Anda tidak ingin berada di situs web memasukkan detail mobil Anda
dan itu hanya akan terjadi jika Anda mengetahui permintaan TTP usia standar yang tidak pasti karena seseorang mungkin membajaknya di tengah
jalan dan itu tidak terlalu aman.
Jadi kita juga bisa menggunakan kriptografi dan mengenkripsi permintaan kita.
Jadi, jika ada yang memotong permintaan mereka, mereka tidak akan tahu apa yang dikatakannya.
Sekarang ini sama dengan memiliki seperti kode bahasa rahasia misalnya jika Anda dan pelayan Anda berbicara Klingon maka
Anda dapat berkomunikasi dengan aman dan tidak masalah jika Anda tidak sengaja mendengar di restoran karena tidak ada orang
lain yang akan dapat mengerti apa yang Anda katakan selain diri Anda dan
pelayan Anda.
Sekarang katakanlah bahwa klien telah berhasil membuat permintaan ke server dan ini adalah
sesuatu yang dapat dilayani server.
Jadi ia melihatnya sebagai permintaan yang sah dan bukan forum untuk itu dalam hal ini server harus
merespons dengan hasil apa yang Anda minta.
Jadi di restoran yang mungkin pizza Anda tetapi di Internet yang mungkin halaman web e-mail
atau sumber daya seperti gambar atau data.
Jadi dalam kode kami Anda akan melihat Abdullah mendapatkan fungsi panggilan balik.
Kami sudah mendapat permintaan dan hasil kami dan hasilnya adalah apa yang kami dapatkan dari server.
Sekarang untuk memberi kita hasil bahwa server mungkin melakukan salah satu dari dua hal itu mungkin melakukan beberapa
kode acak perhitungan untuk mengetahui hasil yang Anda butuhkan.
Misalnya jika server kami adalah aplikasi web kalkulator sederhana atau server mungkin perlu berkomunikasi dengan database
kami untuk mengambil bagian data yang relevan yang diminta oleh klien.
Jadi tergantung pada jenis permintaan apa yang klien buat seperti apa sumber daya yang mereka inginkan server
mungkin melakukan satu atau kedua hal ini.
Jadi kita telah melihat bahwa klien harus berbicara dengan server menggunakan delapan TTP meminta bahasa tertentu
yang dapat dimengerti server tetapi juga hanya ada sejumlah hal yang dapat dilakukan server.
Kanan.
Katakanlah di restoran Anda akan memiliki menu barang yang akan disajikan oleh restoran khusus ini.
Dan persis sama di Internet.
Server akan memiliki sejumlah besar mata API yang merupakan layanan yang dapat mengekspos klien untuk
dapat memanfaatkan.
Jadi kami sedang membangun API, kami seperti membangun menu hal-hal yang dapat ditanggapi oleh
server ketika klien mengajukan permintaan.
Jadi sekarang kita mengerti ketiga komponen apa artinya membuat API kita tenang.
Istirahat yang baik pada dasarnya hanyalah gaya arsitektur.
Jadi sama seperti Anda memiliki bangunan yang berbeda yang memiliki gaya arsitektur yang berbeda misalnya gaya
arsitektur barok dengan lengkungan yang bagus atau bangunan lain mungkin dibangun dalam gaya arsitektur
gothic dengan penopang terbang dan balok-balok yang mengesankan ini.
Dan favorit saya neoklasik memiliki bentuk dan kolom yang sangat geometris yang benar-benar mengingatkan
Anda pada arsitektur Yunani kuno.
Jadi ini adalah gaya arsitektur untuk mendesain bangunan.
Istirahat yang baik adalah gaya arsitektur untuk mendesain karya seni dan jelas bukan satu-satunya gaya
arsitektur.
Jadi yang lain yang benar-benar sangat populer sebelum istirahat menjadi gaya dominan adalah sabun.
Dan ada juga Graft QoL atau core busuk dan ada banyak gaya arsitektur lainnya.
Tetapi standar emas untuk API web adalah istirahat.
Jadi itulah yang akan kita lihat dan istirahat benar-benar terjadi baru-baru ini sebagai
bagian dari PHC orang ini.
Ini adalah Roy Fielding.
Dan dia melakukan PHC di University of California dan sebagai bagian dari doktornya dia meneliti dan
menghasilkan gaya arsitektur yang sekarang kita sebut istirahat.
Dan itu mengusulkan seperangkat aturan yang bisa diikuti oleh pengembang web saat mereka sedang membangun API mereka.
Dan dia datang dengan ide ini bahwa semua situs Web di web akan menggunakan struktur yang sama untuk
membangun API mereka.
Maksud saya bayangkan jika Anda memiliki seluruh jalan dan semua bangunan mereka memiliki tata letak yang sama misalnya toilet untuk pria
dan wanita selalu berada di lantai yang sama di posisi yang sama maka Anda tidak akan pernah
masuk ke dalam situasi di mana Anda mencoba untuk menemukan toilet.
Jadi, perjuangan pribadi saya di samping pada dasarnya di halamannya, ia mengusulkan agar Internet dapat melakukan hal yang sama
jika setiap web API dibangun dengan menggunakan prinsip-prinsip panduan yang sama maka akan sangat mudah bagi semua orang
untuk bekerja sama dan dapat menggunakan API yang berbeda dengan cepat dengan mudah. dan efisien.
Jadi cukup rapi untuk proyek PHC yang tepat.
Pasti ada beberapa proyek PHC yang jauh lebih buruk.
Seperti orang yang harus melihat parameter pendorong kotoran penguin.
Tapi mungkin jika Anda benar-benar menyukai penguin tidak apa-apa.
Jadi bagaimana tepatnya kita membuat API kita tenang.
Ya, ada banyak peraturan yang harus diikuti oleh API untuk bersikap tenang dan seperti halnya Anda memiliki peraturan yang mungkin Anda ikuti di
tempat kerja atau sekolah Anda, Anda mungkin memiliki seragam tanpa celana pendek, tidak ada singlet yang
tidak merokok di dalam gedung.
Anda juga akan memiliki banyak aturan untuk membuat API tenang.
Tetapi dua yang paling penting adalah menggunakan kata kerja permintaan HDP.
Jadi menggunakan bahasa permintaan HDP dan juga untuk menggunakan pola rute tertentu dan URL titik akhir Anda
dan dua hal ini mungkin merupakan bagian terpenting dari cara Anda membuat API Anda tenang.
Dan kita akan melihat masing-masing secara detail.
Jadi pertama apa sebenarnya kata kerja HDP.
Nah, Anda sudah melihat beberapa dari mereka.
Pertama adalah dapatkan maka posting ini memasang patch yang datang relatif baru pada tahun 2010 dan ditambahkan ke
bahasa permintaan TTP pada dasarnya baru-baru ini.
Tapi itu semacam sentuhan rapi tentang bagaimana kita memperbarui data dan kita akan melihatnya
sedikit juga.
Dan akhirnya Anda bisa menghapus.
Jadi ini adalah kata kerja PDB lima usia yang harus Anda gunakan untuk membuat API Anda tenang
dan Anda mungkin menyadari bahwa mereka memiliki banyak kesamaan dengan sesuatu yang kita bahas sebelumnya dalam modul database
yaitu ketika kita melihat ke crud.
Kanan.
Buat pembaruan baca dan hapus.
Jadi kita akan melihat semua 82 verba permintaan bersama dengan fungsi crud basis data kita dan kita akan
melihat bagaimana masing-masing verba ini bekerja dalam praktiknya.
Jadi yang pertama adalah get and get pada dasarnya sama dengan membaca.
Jadi kami telah menulis kode ini berkali-kali setiap kali kami ingin server kami menyajikan
sumber daya.
Kami telah menggunakan penculikan dapatkan dan kemudian kami meneruskan panggilan balik yang menanggapi permintaan dan mengirimkan hasilnya
kembali.
Dan jika permintaan melibatkan sesuatu yang berhubungan dengan basis data kami, maka itu sama dengan mencari
melalui basis data kami dan mengembalikan data sebagai hasilnya.
Yang berikutnya adalah posting dan posting sesuai dengan kata buat di fungsi mentah kami.
Jadi, setiap kali kami membuat formulir di situs web kami, kami menggunakan posting pembaruan dan kemudian kami menerima panggilan
balik dengan permintaan dan respons kami dan ketika data diposting ke server kami, maka kami membuat entri di database kami dan kami
menyimpan data itu untuk kemudian.
Jadi dalam hal ini permintaan akan berisi data dan responsnya hanya akan berhasil atau mungkin kode
kesalahan.
Jika ada masalah yang berikutnya dimasukkan dan ditambal dan mereka berdua memperbarui database kami.
Jadi kami mungkin memiliki pembaruan put atau kami mungkin memiliki pembaruan patch dan kedua hal ini masuk ke database kami dan
memperbarui beberapa bagian data.
Jadi apa perbedaan antara put dan patch.
Nah ini analogi yang bagus.
Baru-baru ini saya pergi ke Amazon dan saya menemukan sepeda yang terlihat sangat bagus dan karena saya benar-benar
ingin meracuni paru-paru saya dengan berolahraga di sekitar London, saya mengklik tombol beli sekarang.
Jadi di sana saya sangat senang sepeda saya tiba dan kemudian pada hari kedatangan saya membuka kotak itu dan sepeda
saya benar-benar kacau sehingga seluruh roda depan rusak jadi saya tidak begitu yakin apa yang terjadi di Amazon gudang
tetapi saya menghubungi mereka dan saya ingin mencoba dan mencari tahu bagaimana kita
bisa menyelesaikan masalah ini.
Jadi ada dua cara untuk memperbaiki masalah ini.
Opsi pertama adalah mereka mengirimi saya sepeda baru.
Jadi ini sama dengan menempatkan Anda memperbarui database Anda dengan mengirimkan seluruh entri untuk
menggantikan yang sebelumnya.
Sekarang pilihan lain yang ditawarkan Amazon adalah mereka mengirimi saya ban baru.
Hanya itu yang rusak.
Sisanya motornya baik-baik saja.
Dan untuk menyelamatkan dunia dari pengiriman emisi karbon, roda jauh lebih baik daripada
mengirim seluruh sepeda.
Dan ini sama dengan tambalan.
Jadi, ketika Anda mengirim permintaan tambalan ke server Anda hanya mengirim potongan data
yang perlu diperbarui, bukan seluruh entri yang akan diganti.
Anda cukup memperbarui hal yang perlu diperbarui.
Jadi ketika kita melihat ini dalam praktik hanya untuk memikirkan kembali analogi sepeda ini dan mungkin itu akan
membantu Anda mencoba memahami perbedaan antara dua kata ini.
Yang terakhir sangat sederhana.
Ini hanya menghapus dan itu sama dengan delete di crud dan kodenya semudah saya tidak menghapus dan ini
hanya menghapus atau menghancurkan bagian data tertentu dalam database kami.
Jadi sekarang kita telah melihat pada kata kerja usia permintaan TTP dan kita bisa melihat bagaimana mereka digunakan.
Hal selanjutnya yang perlu dibicarakan adalah pola khusus rute dan titik akhir yang harus Anda gunakan
untuk membuat API Anda tenang.
Jadi sama seperti ketika Anda pergi dengan safari ada rute berbeda yang akan Anda gunakan untuk mencapai katakanlah daerah
gajah atau unta atau kuda nil di server kami.
Kami dapat menentukan rute tertentu atau Anda adalah L untuk mengakses sumber daya tertentu sehingga Anda mungkin memiliki Anda
tahu WW dot google dot com slash gajah maka yang akan memunculkan semua gajah dan unta slash
akan untuk unta dan kuda nil.
Jadi ini adalah rute dan kami sudah menggunakan rute sebelum menggunakan express node dalam kode server kami, tetapi
agar API kami tenang, kami harus memiliki pola titik akhir dan rute tertentu.
Jadi misalnya jika API kami adalah Wikipedia API dan dalam database kami, kami memiliki banyak artikel.
Sekarang rout untuk memajukan artikel slash berlaku untuk semua artikel.
Sekarang jika kita membuat sebuah rujukan untuk artikel maka ketika seorang klien membuat permintaan untuk meneruskan artikel
slash itu harus mengambil semua artikel dan ketika mereka membuat permintaan posting ke rute
artikel garis miring maka itu harus membuat satu artikel baru dan menambahkan ke basis data artikel kami dan ketika kami membuat
permintaan penghapusan untuk memangkas artikel maka itu akan menghapus semua artikel di basis data kami, tetapi perutean yang
tenang juga memiliki aturan untuk sumber daya individual.
Jadi di dalam semua artikel kita akan memiliki artikel spesifik yang benar.
Katakanlah kita punya artikel tentang Jack Bauer saat itu.
Jika klien menargetkan artikel flash memangkas Jack Bauer maka jika mereka membuat permintaan yang akan mengambil
artikel spesifik tentang Jack Bauer dari database kami dan Anda juga dapat menggunakan put and patch untuk memperbarui
artikel tertentu tentang Jack Bauer dan Anda dapat menghapus artikel khusus juga.
Sekarang sedikit kemudian ketika kita membuat semua rute ini menggunakan kata kerja HP itu akan jauh
lebih jelas bagaimana masing-masing bekerja.
Tapi untuk saat ini saya hanya ingin Anda mendapatkan gambaran tentang apa sebenarnya routing yang tenang sebelum
kita mulai.
Jadi sekarang kita telah melihat bagaimana ATP meminta kata kerja bekerja dan pola rute yang membuat API Anda
tenang langkah selanjutnya adalah memulai dan benar-benar membangun API kita sendiri.
Jadi untuk semua itu dan banyak lagi saya akan melihat pada pelajaran selanjutnya.