Anda dapat menggunakan API Gateway untuk memanggil layanan API yang diaktifkan oleh pengguna Alibaba Cloud lainnya atau penyedia layanan pihak ketiga. API Gateway menyediakan serangkaian layanan manajemen dan dukungan.
Panggil API
Anda dapat menggunakan SDK untuk berbagai bahasa pemrograman yang disediakan di konsol API Gateway untuk memanggil API. Untuk informasi lebih lanjut tentang SDK, lihat halaman SDK di konsol API Gateway. Anda juga dapat membuat permintaan HTTP atau HTTPS untuk memanggil API.
Berikut ini menjelaskan detail dan memberikan contoh pemanggilan API:
1. Permintaan
URL permintaan terdiri dari nama domain dan jalur.
Nama domain harus diikat ke grup API yang berisi API yang akan dipanggil. Jika nama domain tidak diikat ke grup API, nama domain tingkat kedua yang diberikan oleh sistem dapat digunakan.
http://e710888d3ccb4638a723ff8d03837095-cn-qingdao.aliapi.com/demo/postMetode permintaan contoh:
POSTBadan permintaan contoh:
FormParam1=FormParamValue1&FormParam2=FormParamValue2 # Badan Permintaan HTTPHeader permintaan contoh:
Host: e710888d3ccb4638a723ff8d03837095-cn-qingdao.aliapi.com
Date: Mon, 22 Aug 2016 11:21:04 GMT
User-Agent: Apache-HttpClient/4.1.2 (java 1.6)
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
# Jenis badan permintaan. Tentukan jenis badan permintaan berdasarkan permintaan aktual yang ingin Anda buat.
Accept: application/json
# Jenis badan respons. Beberapa API dapat mengembalikan data dalam format yang sesuai berdasarkan tipe respons yang ditentukan. Kami menyarankan Anda untuk secara manual menentukan header permintaan. Jika header permintaan tidak ditentukan, beberapa klien HTTP menggunakan nilai default */*. Ini mungkin menyebabkan kesalahan tanda tangan.
X-Ca-Request-Mode: debug
# Menentukan apakah mode debug diaktifkan. Parameter ini tidak peka huruf besar-kecil. Jika tidak ditentukan, mode debug dinonaktifkan. Aktifkan mode ini pada fase debugging API.
X-Ca-Version: 1
# Nomor versi API. Semua API hanya mendukung versi 1. Anda dapat meninggalkan header permintaan ini tanpa ditentukan. Nomor versi default adalah 1.
X-Ca-Signature-Headers: X-Ca-Request-Mode,X-Ca-Version,X-Ca-Stage,X-Ca-Key,X-Ca-Timestamp
# Header permintaan kustom yang terlibat dalam perhitungan tanda tangan. Server membaca header permintaan berdasarkan konfigurasi ini untuk menandatangani permintaan. Konfigurasi ini tidak termasuk Content-Type, Accept, Content-MD5, dan header permintaan Date karena header tersebut termasuk dalam struktur tanda tangan dasar. Untuk informasi tentang tanda tangan, lihat Tanda tangan Permintaan.
X-Ca-Stage: RELEASE
# Tahap API. Nilai valid: TEST, PRE, dan RELEASE. Parameter ini tidak peka huruf besar-kecil. Penyedia API dapat memilih tahap tempat API diterbitkan. API hanya dapat dipanggil setelah diterbitkan ke tahap tertentu. Jika tidak, sistem akan memberi tahu bahwa API tidak ditemukan atau URL permintaan tidak valid.
X-Ca-Key: 60022326
# AppKey permintaan. Anda harus mendapatkan AppKey di konsol API Gateway. Aplikasi hanya dapat memanggil API setelah diberikan izin. Secara default, API yang dibeli di Alibaba Cloud Marketplace telah memberikan izin ke aplikasi. Semua layanan Alibaba Cloud menggunakan sistem AppKey yang sama. Untuk mencegah dampak pada layanan Alibaba Cloud lainnya yang Anda aktifkan, berhati-hatilah saat Anda menghapus AppKey.
X-Ca-Timestamp: 1471864864235
# Timestamp permintaan. Nilai ini adalah timestamp UNIX yang mewakili jumlah milidetik yang telah berlalu sejak 1 Januari 1970 00:00:00 UTC. Secara default, timestamp berlaku selama 15 menit.
X-Ca-Nonce:b931bc77-645a-4299-b24b-f3669be577ac
# ID unik permintaan. AppKey, API, dan Nonce harus unik dalam 15 menit terakhir. Untuk mencegah serangan ulang, Anda harus menentukan header X-Ca-Nonce dan header X-Ca-Timestamp.
X-Ca-Signature: FJleSrCYPGCU7dMlLTG+UD3Bc5Elh3TV3CWHtSKh1Ys=
# Tanda tangan permintaan.
CustomHeader: CustomHeaderValue
# Header permintaan kustom. CustomHeaderValue digunakan sebagai contoh. Anda dapat mengonfigurasi beberapa header permintaan kustom dalam permintaan berdasarkan definisi API yang sedang dipanggil.2. Respons
Kode status:
400
# Kode status respons. Jika nilainya lebih besar dari atau sama dengan 200 tetapi kurang dari 300, panggilan berhasil. Jika nilainya lebih besar dari atau sama dengan 400 tetapi kurang dari 500, kesalahan sisi klien telah terjadi. Jika nilainya lebih besar dari 500, kesalahan sisi server telah terjadi.Header respons:
X-Ca-Request-Id: 7AD052CB-EE8B-4DFD-BBAF-EFB340E0A5AF
# ID unik permintaan. Saat API Gateway menerima permintaan, ia menghasilkan ID permintaan dan mengembalikan ID permintaan ke klien di header X-Ca-Request-Id. Kami menyarankan Anda mencatat ID permintaan di klien dan server backend untuk pemecahan masalah dan pelacakan.
X-Ca-Error-Message: Invalid Url
# Pesan kesalahan yang dikembalikan oleh API Gateway. Jika permintaan gagal, API Gateway mengembalikan pesan kesalahan ke klien di header X-Ca-Error-Message.
X-Ca-Debug-Info: {"ServiceLatency":0,"TotalLatency":2}
# Pesan yang dikembalikan hanya ketika mode debug diaktifkan. Pesan ini hanya digunakan sebagai referensi pada tahap debugging.
Tidak peduli apakah Anda menggunakan HTTP atau HTTPS untuk memanggil API, permintaan harus mencakup informasi tanda tangan. AppKey dalam tanda tangan digunakan untuk memverifikasi identitas Anda, dan AppSecret dalam tanda tangan digunakan untuk mengenkripsi dan memverifikasi string tanda tangan. Untuk informasi tentang cara menghitung dan meneruskan tanda tangan terenkripsi, lihat Gunakan otentikasi digest untuk memanggil API.
Untuk informasi tentang demo perhitungan tanda tangan, lihat halaman SDK di konsol API Gateway.
Untuk informasi lebih lanjut, lihat Ikhtisar.