RESTful API, apaan tuh?
Membahas pengertian tentang RESTful API.
RESTful API, apaan tuh?
Membahas pengertian tentang RESTful API.
Hello fellas! Kali ini yuk kita bahas tentang RESTful API. Mungkin di tutorial gue yangLaravel 5.4 : RESTful APIsertaLumen 5.4 : RESTful APIkita dah sama-sama belajar cara buat API.
Tapi pernah ngga sih kepikiran sebenernya RESTful api itu apasih? Coba kalo gue tanya reader yang lagi baca, RESTful itu sebenernya apasih?
Ea bingung wkwkwk. Mungkin sebagian mikirnya API dan RESTful API itu sama, ya ngga salah sih, emang bener sama.
REST (Representional State Transfer) adalah suatu arsitektur metode komunikasi yang menggunakan protokol HTTP untuk pertukaran data dan metode ini sering diterapkan dalam pengembangan aplikasi. Dimana tujuannya adalah untuk menjadikan sistem yang memiliki performa yang baik, cepat dan mudah untuk di kembangkan (scale) terutama dalam pertukaran dan komunikasi data. —Developer Kudo Menurut pengertian salah satu developer Kudo sih itu secara teori, ya engga salah juga sih. Emang bener kok. Okedeh kita akan bahas secara langsung. Pernah ketemu developer (maaf) yang oon? Pasti pernah. Semua developer yang jago, awalnya juga dari Oon kok, ke oon-an itu lahir dari ketidaktahuan, maka kalo tidak tahu ya kita tempe aja hehehe maksudnya ya dicari tau atuh kalo nyari tahu mah dipasar *oke skip. Nah biasanya untuk developer yang noob (kita ganti oon dengan noob), biasanya mereka akan buat routes di API sesuka hati mereka, seolah-olah dunia ini punya mereka yang lain cuma ngontrak. Mereka ngga akan pikirin tuh cara membuat penamaan route yang baik dan tidak akan menyakitkan mata para frontend developer atau yang akan make API nya. Umumnya, route yang baik itu menggunakan noun (kata benda), jangan pake VERB (ini salah banget karena ngga enak dibaca!!!!). Terus sebagian dari mereka suka banget pake bahasa indonesia buat routes, ih bukan tidak nasionalisme ya, tapi ngga enak dibaca! Asli deh, ngebuat routes dengan nama /tambahkontak itu sangat tidak readable! Tapi ini prinsip loh ya, mungkin ada punya pandangan beda. As example, enakan mana baca routecontactataucontacting? Orang waras pasti akan milih contact, karena itu kata benda. Contoh verb adalah misalnya‘break’, ya ngapain nama routebreak? Aneh-aneh saja. Routes yang baik akan menggunakan kata kerja sepertistore, update, show,dandeletekarena kata ini lebih enak dibaca dan mudah sekali dicerna tanpa perlu belajar S3 ke Harvard hehehe. Nah kembali lagi, fungsi RESTful API itu apa? Sebenernya REST itu memanfaatkan empat metode di HTTP, yaitu:
- GETTheGETmethod requests a representation of the specified resource. Requests usingGETshould only retrieve data.HEADTheHEADmethod asks for a response identical to that of aGETrequest, but without the response body.
- POSTThePOSTmethod is used to submit an entity to the specified resource, often causing a change in state or side effects on the server.
- PUTThePUTmethod replaces all current representations of the target resource with the request payload.
- DELETETheDELETEmethod deletes the specified resource. Ada lagi method lainnya, yaitu: CONNECTTheCONNECTmethod establishes a tunnel to the server identified by the target resource. OPTIONSTheOPTIONSmethod is used to describe the communication options for the target resource. TRACETheTRACEmethod performs a message loop-back test along the path to the target resource. PATCHThePATCHmethod is used to apply partial modifications to a resource. sumber:https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods Nah kalo tadi ngomongin soal metode HTTP, maka kita sekarang ngomongin cara buat routes yang baik, nah beberapa developer noob kadang suka buat routes seperti dibawah ini. GET /get_all_kontakGET /kontak_detail/{id}POST /tambahkontakPOST /update_kontak/{id}POST /deletekontak/{id} nah ada baiknya semua itu disimpan dalam satu URL saja yaitu kontak menjadi GET /kontakGET /kontak/{id}POST /kontak/storePOST /kontak/update/{id}POST /kontak/delete/{id} Lebih baik lagi kalo ngikutin sesuai kaidah REST API. GET /kontakGET /kontak/{id}PUT /kontak/{id}POST /kontakDELETE /kontak/{id} Fungsi GET dengan ID dan tanpa ID itu terlihat jelas sekali perbedaannya, jika dengan ID berarti kita mencari sesuai dengan ID, sedangkan tanpa ID maka kita mengambil semua data. Fungsi PUT pada umumnya adalah untuk menambahkan data ke database, karena PUT pada umumnya tidak perlu menggunakan form-data, apalagi pakenya di javascript. Biasanya PUT menggunakanx-www-form-urlencodedatauJSON. Sedangkan POST biasanya menggunakan form-data sehingga dapat melakukanupload file. Nah form-data ini cukup besar untuk dibawa ke javascript, makanya kalo buat API dengan NodeJS umumnya kita akan menggunakanx-www-form-urlencodedatauJSON,mereka lebih ringan loh. Nah fungsi DELETE ya jelas sekali untuk ngehapus data. Tapi penjelasan saya diatas ini cuma masalah sudut pandang loh, ada sebagian developer yang menggunakan POST saja kok tanpa PUT dan DELETE. Selama URL-nya readable, tidak ribet dan sudah sesuai kesepakatan tim saya rasa ya sah-sah aja. Kesimpulan, RESTful API sebenernya metode untuk ngebuat API sesuai dengan metode HTTP sehingga routes API menjadi lebih indah, terstruktur, readable serta tidak banyak memakan kata, karena dengan menggunakan empat metode HTTP kita bisa menyingkat semua URL dengan URL yang sama dan hanya beda metode. Oke ini aja yang bisa saya sampaikan, semoga bermanfaat ^^
Artikel ini merupakan konten legacy dari blog Medium (Tahun 2019). Beberapa konsep atau sintaks mungkin sudah mengalami perubahan pada versi terbaru.