Artikel

Bagaimana membuat API REST?

Aug 06, 2025Tinggalkan pesanan

Dalam dunia pembangunan perisian moden, API RESTFUL telah muncul sebagai asas untuk membina aplikasi berskala, cekap, dan interoperable. Sebagai pembekal API, saya telah menyaksikan secara langsung kuasa transformasi API REST yang baik dalam membolehkan komunikasi lancar antara sistem perisian yang berbeza. Dalam blog ini, saya akan berkongsi pandangan saya tentang cara membuat API REST, dari konsep asas kepada langkah -langkah pelaksanaan praktikal.

Memahami seni bina yang tenang

Sebelum menyelam ke dalam proses penciptaan, penting untuk memahami apa rehat (pemindahan keadaan perwakilan). REST adalah gaya seni bina yang mentakrifkan satu set kekangan yang akan digunakan untuk mewujudkan perkhidmatan web. API yang tenang mematuhi kekangan ini, termasuk ketenteraan, kebolehcesis, antara muka seragam, sistem berlapis, dan permintaan kod (pilihan).

Kekangan antara muka seragam amat penting. Ini bermakna API harus mempunyai cara yang konsisten untuk berinteraksi dengan sumber. Sumber adalah abstraksi utama dalam rehat, dan mereka boleh menjadi apa -apa dari profil pengguna ke katalog produk. Setiap sumber dikenalpasti oleh URI yang unik (Pengenal Sumber Seragam), dan pelanggan berinteraksi dengan sumber -sumber ini menggunakan kaedah HTTP standard seperti GET, POST, PUT, DELETE.

Merancang API REST anda

Langkah pertama dalam membuat API REST merancang. Ini melibatkan menentukan sumber API anda akan mendedahkan, operasi yang boleh dilakukan pada sumber -sumber tersebut, dan format data yang akan digunakan untuk permintaan dan tindak balas.

Menentukan sumber

Mulakan dengan mengenal pasti entiti utama dalam sistem anda yang anda ingin dedahkan melalui API. Sebagai contoh, jika anda membina API E - Commerce, sumber anda mungkin termasuk produk, pelanggan, dan pesanan. Setiap sumber harus mempunyai nama yang jelas dan bermakna, dan URInya harus mencerminkan hubungan hierarki dengan sumber lain. Contohnya, URI untuk produk tertentu mungkin/produk/{product_id}, di mana{product_id}adalah pengecam unik untuk produk tersebut.

Menentukan operasi

Sebaik sahaja anda telah menentukan sumber anda, anda perlu memutuskan operasi apa yang boleh dilakukan pada mereka. Berikut adalah pemetaan umum kaedah HTTP untuk operasi:

  • Dapatkan: Ambil sumber atau koleksi sumber. Contohnya,Dapatkan /produkboleh mengembalikan senarai semua produk, sementaraGet /produk /{product_id}akan mengembalikan butiran produk tertentu.
  • Jawatan: Buat sumber baru. Contohnya,Pos /produkDengan muatan JSON yang mengandungi butiran produk akan menghasilkan produk baru dalam sistem.
  • Meletakkan: Kemas kini sumber yang sedia ada.Meletakkan /produk /{product_id}Dengan butiran produk yang dikemas kini dalam muatan akan menimpa maklumat produk yang sedia ada.
  • Padam: Keluarkan sumber.Padam /produk /{product_id}akan memadam produk yang ditentukan dari sistem.

Memilih format data

JSON (JavaScript Object Notation) adalah format data yang paling biasa digunakan untuk API REST kerana kesederhanaan dan sokongan luas di seluruh bahasa pengaturcaraan yang berbeza. XML adalah pilihan lain, tetapi ia lebih verbose. Apabila merancang API anda, tentukan format data yang anda akan gunakan untuk permintaan dan jawapan dan dokumen dengan jelas.

Merancang titik akhir API

Selepas merancang, sudah tiba masanya untuk merancang titik akhir API. Titik akhir adalah URI khusus yang boleh diakses oleh pelanggan untuk melaksanakan operasi pada sumber.

Penamaan Konvensyen

Gunakan kata nama majmuk untuk nama sumber dalam uris anda. Contohnya,/produkbukan/produk. Ini menjelaskan bahawa titik akhir mewakili koleksi sumber. Juga, gunakan tanda hubung untuk memisahkan kata -kata dalam URI untuk dibaca yang lebih baik, bukannya garis bawah atau unta.

Parameter pertanyaan

Untuk penapisan, penyortiran, dan penomboran, gunakan parameter pertanyaan. Sebagai contoh, untuk mendapatkan senarai produk yang disusun mengikut harga dalam urutan menaik, anda boleh menggunakan URI/Produk? Sort = Harga & Order = ASC. Untuk melaksanakan penomboran, anda mungkin menggunakan parameter sepertihaddanmengimbangi, seperti/Produk? Had = 10 & offset = 20Untuk mendapatkan halaman ketiga dari 10 produk masing -masing.

C43H58N4O12 workshop13292-46-1 testing center

Melaksanakan API REST

Terdapat banyak bahasa pengaturcaraan dan rangka kerja yang tersedia untuk melaksanakan API REST. Di sini, saya akan menggunakan Rangka Kerja Python dan Flask sebagai contoh.

Dari Flask Import Flask, JSonify, meminta App = Flask (__ Name__) # Mock Data untuk Produk Produk = [{"ID": "Nama": "Produk 1", "Harga": 10.99}, {"id": 2, "Nama": "Produk 2", "Harga": 19.99} get_products (): kembali jsonify (produk) # dapatkan produk tunggal @app.route ('/produk/<int: product_id>', methods = ['get']) def get_product (product_id): product = next (p for p dalam produk jika p ["id"] == product_id) 404 # Buat produk baru @app.route ('/produk', kaedah = ['pos']) def create_product (): new_product = request.get_json () new_product ["id"] = len (produk) + 1 products.append (new_product) kaedah = ['put']) def update_product (product_id): product = next ((p for p dalam produk jika p ["id"] == product_id), tiada) jika produk: dikemas kini_data = request.get_json () produk.update (dikemas kini_data) @app.route ('/produk/<int: product_id>', methods = ['delete']) def delete_product (product_id): produk produk global = [p untuk p dalam produk jika p ["id"]!

Dalam contoh ini, kami telah mencipta API REST yang mudah untuk menguruskan produk. API mempunyai titik akhir untuk mendapatkan semua produk, mendapatkan produk tunggal, mewujudkan produk baru, mengemas kini produk yang sedia ada, dan memadamkan produk.

Pengendalian dan pengesahan ralat

API rehat yang mantap harus mengendalikan kesilapan dengan anggun dan memberikan mesej ralat yang bermakna kepada pelanggan. Apabila ralat berlaku, kembalikan kod status HTTP yang sesuai bersama -sama dengan objek JSON yang mengandungi mesej ralat. Sebagai contoh, jika pelanggan cuba mengakses sumber yang tidak ada, kembalikan kod status 404 dengan mesej seperti "sumber tidak dijumpai".

Pengesahan juga penting. Sebelum melakukan sebarang operasi pada data yang diterima daripada pelanggan, sahkannya untuk memastikan ia memenuhi keperluan. Sebagai contoh, jika harga produk dijangka menjadi nombor positif, periksa bahawa nilai yang diterima dalam permintaan itu memang nombor positif.

Pertimbangan Keselamatan

Keselamatan adalah keutamaan ketika membuat API REST. Berikut adalah beberapa langkah keselamatan yang harus anda pertimbangkan:

Pengesahan

Gunakan mekanisme pengesahan seperti kekunci API, OAuth, atau JWT (JSON Web Tokens) untuk memastikan bahawa hanya pelanggan yang diberi kuasa boleh mengakses API anda. Kekunci API mudah dilaksanakan tetapi mungkin tidak selamat seperti OAuth atau JWT. OAuth adalah protokol yang digunakan secara meluas untuk akses yang diwakilkan, manakala JWT adalah token yang terkandung sendiri yang boleh digunakan untuk mengesahkan dan membenarkan permintaan.

Kebenaran

Sebaik sahaja pelanggan disahkan, anda perlu menentukan tindakan yang dibenarkan untuk dilakukan. Di sinilah kebenaran masuk. Sebagai contoh, pengguna biasa mungkin hanya dapat melihat profil mereka sendiri, sementara pentadbir dapat melihat dan mengubah suai semua profil pengguna.

Sanitisasi input

Untuk mengelakkan serangan seperti suntikan SQL atau skrip silang (XSS), membersihkan semua input yang diterima daripada pelanggan. Ini bermakna mengeluarkan atau mengekodkan mana -mana watak yang berpotensi berniat jahat.

Dokumentasi

Dokumentasi yang baik adalah penting untuk kejayaan API REST anda. Ia membantu pelanggan memahami cara menggunakan API anda dan apa yang diharapkan daripadanya. Anda boleh menggunakan alat seperti Swagger atau OpenAPI untuk menghasilkan dokumentasi interaktif untuk API anda. Dokumentasi harus memasukkan butiran mengenai titik akhir, kaedah HTTP yang disokong, format data permintaan dan tindak balas, dan mana -mana parameter pertanyaan atau tajuk yang perlu digunakan.

Kesimpulan

Mewujudkan API REST memerlukan perancangan, reka bentuk, pelaksanaan, dan ujian yang teliti. Dengan mengikuti prinsip -prinsip seni bina yang tenang, menentukan sumber dan operasi yang jelas, dan mempertimbangkan keselamatan dan dokumentasi, anda boleh membina API berkualiti tinggi yang memenuhi keperluan pelanggan anda.

Sebagai pembekal API, kami menawarkan pelbagai API, termasukHydrobromide Lappaconitine Berkualiti Teratas, C32H45BRN2O8, CAS: 97792 - 45 - 5,Albendazole berkualiti baik, CAS: 54965 - 21 - 8, C12H15N3O2S, danRifampicin Gred Teratas, 13292 - 46 - 1 GMP Standard, C43H58N4O12. Sekiranya anda berminat dengan API kami atau mempunyai sebarang soalan mengenai membuat API REST anda sendiri, jangan ragu untuk menghubungi kami untuk perolehan dan perbincangan lanjut.

Rujukan

  • Richardson, Leonard, dan Sam Ruby. Perkhidmatan web yang tenang. O'Reilly Media, 2007.
  • Fielding, Roy Thomas. Gaya seni bina dan reka bentuk arsitektur perisian berasaskan rangkaian. Disertasi Doktor, University of California, Irvine, 2000.
Hantar pertanyaan