it-swarm-id.com

Bagaimana cara kerja API web?

Saya telah mendengar banyak API web seperti Facebook, Twitter, dll., Yang membantu pihak ketiga mengakses data dan memanipulasinya. Saya ingin tahu cara kerja API web. Apa dasar-dasar API web?

Jika saya ingin membuat API untuk situs saya, sehingga orang dapat mengakses atau memperbaruinya, apa yang harus saya mulai?

17
Harish Kurup

Paling sederhana, Anda membuat satu set permintaan GET/POST yang dapat dipanggil dan dipublikasikan siapa pun informasi tentang URL, parameter, dan efek. DAPATKAN permintaan untuk tugas hanya baca dan permintaan POST untuk apa pun yang akan mengubah data di server.

Tambahkan dalam sistem otentikasi jika diperlukan dan Anda memiliki API Web sederhana.

A Web API hanyalah antarmuka Interface untuk memungkinkan akses ke sistem Anda (seperti situs) melalui standar metode permintaan HTTP . Data itu sendiri biasanya dibungkus dalam beberapa format standar (seperti JSON atau XML ) untuk membuatnya mudah ditangani.


Berikut ini adalah contoh API Web untuk 'TextWise'

23
Dan McGrath

Saya sebenarnya sedang mengembangkan API untuk platform virtualisasi perusahaan saya sekarang. Anda dapat melakukannya dengan beberapa cara berbeda, tetapi favorit saya (dan rute tercepat untuk mendapatkan sesuatu yang dapat dipahami orang) menggunakan permintaan GET HTTP sederhana dan mengembalikan respons JSON.

URL saya terlihat seperti ini:

domain.com/method/call/subcall?key=key&data=something

Saya kemudian memecah variabel HTTP GET, dan melakukan apa yang penelepon ingin lakukan dengan mereka. Salah satu alasan terbesar saya mendaftar sebagai pengguna beta untuk pengembangan Stack Exchange API adalah bahwa saya tahu bahwa itu akan menjadi pengalaman belajar yang luar biasa, dan memang demikian .

Biasanya, saya mengembalikan dua array yang disandikan JSON, satu menjadi result, yang pada dasarnya hanya mengatakan jika panggilan berhasil dan memberikan kode kesalahan/string kesalahan jika tidak. Yang lain biasanya hanya disebut data, dan kontennya dijelaskan dalam dokumentasi panggilan tertentu. Selain itu, API berbasis GET jauh lebih mudah untuk menguji dan men-debug.

Ada banyak format lain, seperti SOAP/XMLRPC, saya hanya menemukan bahwa memilih JSON memberi saya kesederhanaan dan kebebasan memilih yang luar biasa.

Misalnya, jika saya perlu mengirim lot bidang dan tidak ingin berurusan dengan satu ton variabel GET, saya hanya bisa melakukan ini ( contoh dalam PHP)

$to_send = base64_encode(json_encode($some_array));

Itu mudah diterjemahkan di sisi lain, memberi saya puluhan variabel untuk bekerja dengan, sementara masih hanya menerima 2 - 3 variabel GET melalui API.

Saya hanya berusaha menjaga agar metode dan panggilan saya tetap singkat dan ringkas, dan mendesainnya sedemikian rupa sehingga setiap panggilan mengembalikan respons 'berhasil atau gagal' seragam, diikuti oleh data yang diminta.

5
Tim Post

Itu sebenarnya pertanyaan yang sangat luas. Dalam pengertian yang paling mendasar, API web berfungsi saat klien (seperti browser Web) membuat permintaan HTTP semacam ke server Web. Server memeriksa permintaan itu untuk mencari tahu apa yang diinginkan pengguna, dan kemudian mengembalikan data dalam beberapa format (seperti halaman) yang kemudian diperiksa klien untuk mendapatkan apa yang diinginkannya. Ini adalah satu-satunya hal yang sama-sama dimiliki oleh Web API; Saya menyadari bahwa ini tidak benar-benar menjawab pertanyaan Anda, tetapi saya ingin memberikan alasan mengapa pertanyaan itu begitu luas.

Ada berbagai cara klien dapat memformat permintaannya, atau bahwa server dapat memformat responsnya, dan agar hal itu masuk akal, klien dan server harus menyetujui beberapa aturan dasar. Secara umum, saat ini ada dua gaya yang sangat umum yang digunakan untuk hal semacam ini.

Panggilan Prosedur Jarak Jauh (RPC)

Dalam API gaya RPC, biasanya hanya ada satu URL untuk seluruh API. Anda menyebutnya dengan POSTing dokumen yang berisi informasi tentang apa yang ingin Anda lakukan, dan server mengembalikan dokumen yang memiliki apa yang Anda inginkan. Dalam istilah komputasi umum, dokumen permintaan biasanya memiliki nama fungsi dan beberapa argumen.

Beberapa standar untuk gaya API ini termasuk XML-RPC dan SOAP. Standar ini berupaya membuat format yang dapat digunakan untuk menjelaskan panggilan fungsi yang Anda buat, atau bahkan untuk menggambarkan keseluruhan API.

Transfer Negara Representatif (REST)

Dalam API gaya REST, Anda tidak memiliki URL untuk API sebagai ruang nama : server, atau folder di dalam server, tempat banyak objek berbeda berada, dan setiap URL di dalam namespace ini menjadi bagian dari API. Daripada memberi tahu server bahwa Anda ingin menggunakan API, URL memberi tahu server apa Anda ingin menggunakan API pada . Anda kemudian menggunakan metode HTTP, dan mungkin badan permintaan, untuk menjelaskan apa yang ingin Anda lakukan ke objek itu: DAPATKAN (mengambil sesuatu yang sudah ada), POST (buat sesuatu yang baru), PUT (ganti sesuatu yang sudah ada di sana) ), atau DELETE (singkirkan sesuatu yang sudah ada di sana) .Ada beberapa kata kerja lain yang dapat Anda gunakan, tetapi sejauh ini yang paling umum.

Sejauh ini, saya belum menyebutkan format standar untuk REST. Secara teori, Anda bisa menggunakan hampir semua format. HTTP sudah menyediakan untuk mengatakan apa yang ingin Anda lakukan dan apa yang ingin Anda lakukan, sehingga format badan permintaan bisa apa saja: beberapa representasi objek yang ingin Anda buat atau ganti. Tetapi dalam prakteknya, REST penulis cenderung menyepakati suatu format, karena akan sulit untuk memahami setiap format yang mungkin.

2
The Spooniest