cari
Rumahpembangunan bahagian belakangTutorial PythonCara melaksanakan penjanaan automatik dokumen API dan paparan UI dalam FastAPI

Cara melaksanakan penjanaan automatik dokumen API dan paparan UI dalam FastAPI

Dengan rangka kerja Python yang berkuasa seperti FastAPI, kami boleh membina API Web berprestasi tinggi dengan mudah. Walau bagaimanapun, semasa membina API, kami juga memerlukan dokumentasi API yang jelas dan mudah difahami untuk membantu pembangun lain memahami dan menggunakan API kami. Artikel ini akan memperkenalkan cara menggunakan FastAPI untuk menjana dokumen API secara automatik dan memaparkannya melalui UI.

Pertama, kita perlu memasang FastAPI dan perpustakaan bergantung yang berkaitan. Jalankan arahan berikut dalam baris arahan untuk memasangnya:

pip install fastapi
pip install uvicorn
pip install fastapi_utils

Seterusnya, kita perlu mengimport modul yang diperlukan:

from fastapi import FastAPI
from fastapi_utils.api_model import APIModel
from fastapi_utils.api_doc import APIModelDoc

Kemudian, kita mencipta contoh FastAPI:

app = FastAPI()

Seterusnya, kita boleh menentukan model API. Model API ditakrifkan menggunakan kelas APIModel yang disediakan oleh FastAPI, yang boleh mengandungi medan untuk permintaan dan respons API. APIModel类来定义的,它可以包含用于API请求和响应的字段。

class User(APIModel):
    id: int
    name: str
    email: str

在我们的FastAPI应用程序中,我们可以使用该模型来定义API路由和逻辑。

@app.get("/users/{user_id}", response_model=User, summary="Get user by ID", tags=["users"])
def get_user(user_id: int):
    return {"id": user_id, "name": "John Doe", "email": "johndoe@example.com"}

在上面的代码中,我们为HTTP GET请求定义了一个路由/users/{user_id},并指定了响应模型为User。我们还为该路由添加了一个简要说明和一个标签,以后我们可以通过标签来组织和过滤API文档。

接下来,我们可以使用APIModelDoc类来为我们的API模型生成文档。

docs = APIModelDoc(app)
docs.register(User)

有了以上代码,我们的API模型就被注册到了API文档中。

最后,我们需要使用docs.html方法来获取自动生成的API文档的HTML代码。

@api.route('/docs', method="GET", tags=["docs"])
def get_docs():
    return docs.html()

在上面的代码中,我们定义了一个GET路由/docs,并返回了自动生成的API文档的HTML代码。这里我们为这个路由添加了一个标签docs,以便在API文档中进行过滤和组织。

现在,让我们运行我们的FastAPI应用程序并查看自动生成的API文档。

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

在命令行中执行以下命令以启动应用程序:

python app.py

然后在浏览器中访问http://localhost:8000/docsrrreee

Dalam aplikasi FastAPI kami, kami boleh menggunakan model ini untuk menentukan laluan dan logik API.

rrreee

Dalam kod di atas, kami mentakrifkan laluan /users/{user_id} untuk permintaan HTTP GET dan menentukan model respons sebagai User. Kami juga menambah penerangan ringkas dan label pada laluan, yang kemudiannya boleh kami gunakan untuk mengatur dan menapis dokumentasi API.

Seterusnya, kami boleh menggunakan kelas APIModelDoc untuk menjana dokumentasi untuk model API kami. 🎜rrreee🎜Dengan kod di atas, model API kami didaftarkan dalam dokumen API. 🎜🎜Akhir sekali, kita perlu menggunakan kaedah docs.html untuk mendapatkan kod HTML dokumentasi API yang dijana secara automatik. 🎜rrreee🎜Dalam kod di atas, kami mentakrifkan laluan GET /docs dan mengembalikan kod HTML dokumentasi API yang dijana secara automatik. Di sini kami menambahkan teg docs pada laluan ini untuk menapis dan menyusunnya dalam dokumentasi API. 🎜🎜Sekarang, mari jalankan aplikasi FastAPI kami dan lihat dokumentasi API yang dijana secara automatik. 🎜rrreee🎜Laksanakan arahan berikut dalam baris arahan untuk memulakan aplikasi: 🎜rrreee🎜Kemudian lawati http://localhost:8000/docs dalam penyemak imbas anda dan anda sepatutnya dapat melihat yang dijana secara automatik dokumen API. 🎜🎜Melalui langkah di atas, kami berjaya melaksanakan penjanaan automatik dan paparan UI dokumen API dalam FastAPI. Anda boleh menyesuaikan dan melaraskan lagi gaya dan kandungan dokumentasi API mengikut keperluan anda. 🎜🎜Semoga artikel ini membantu anda membina API yang berkuasa menggunakan FastAPI dan menyediakan dokumentasi yang jelas dan mudah difahami untuk API anda. 🎜

Atas ialah kandungan terperinci Cara melaksanakan penjanaan automatik dokumen API dan paparan UI dalam FastAPI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Rancangan Python 2 jam: Pendekatan yang realistikRancangan Python 2 jam: Pendekatan yang realistikApr 11, 2025 am 12:04 AM

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Python: meneroka aplikasi utamanyaPython: meneroka aplikasi utamanyaApr 10, 2025 am 09:41 AM

Python digunakan secara meluas dalam bidang pembangunan web, sains data, pembelajaran mesin, automasi dan skrip. 1) Dalam pembangunan web, kerangka Django dan Flask memudahkan proses pembangunan. 2) Dalam bidang sains data dan pembelajaran mesin, numpy, panda, scikit-learn dan perpustakaan tensorflow memberikan sokongan yang kuat. 3) Dari segi automasi dan skrip, Python sesuai untuk tugas -tugas seperti ujian automatik dan pengurusan sistem.

Berapa banyak python yang boleh anda pelajari dalam 2 jam?Berapa banyak python yang boleh anda pelajari dalam 2 jam?Apr 09, 2025 pm 04:33 PM

Anda boleh mempelajari asas -asas Python dalam masa dua jam. 1. Belajar pembolehubah dan jenis data, 2. Struktur kawalan induk seperti jika pernyataan dan gelung, 3 memahami definisi dan penggunaan fungsi. Ini akan membantu anda mula menulis program python mudah.

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam?Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam?Apr 02, 2025 am 07:18 AM

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah?Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah?Apr 02, 2025 am 07:15 AM

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Apa yang perlu saya lakukan jika modul '__builtin__' tidak dijumpai apabila memuatkan fail acar di Python 3.6?Apa yang perlu saya lakukan jika modul '__builtin__' tidak dijumpai apabila memuatkan fail acar di Python 3.6?Apr 02, 2025 am 07:12 AM

Memuatkan Fail Pickle di Python 3.6 Kesalahan Laporan Alam Sekitar: ModulenotFoundError: Nomodulenamed ...

Bagaimana untuk meningkatkan ketepatan segmentasi kata Jieba dalam analisis komen tempat yang indah?Bagaimana untuk meningkatkan ketepatan segmentasi kata Jieba dalam analisis komen tempat yang indah?Apr 02, 2025 am 07:09 AM

Bagaimana untuk menyelesaikan masalah segmentasi kata Jieba dalam analisis komen tempat yang indah? Semasa kami mengadakan komen dan analisis tempat yang indah, kami sering menggunakan alat segmentasi perkataan jieba untuk memproses teks ...

Bagaimana cara menggunakan ungkapan biasa untuk memadankan tag tertutup pertama dan berhenti?Bagaimana cara menggunakan ungkapan biasa untuk memadankan tag tertutup pertama dan berhenti?Apr 02, 2025 am 07:06 AM

Bagaimana cara menggunakan ungkapan biasa untuk memadankan tag tertutup pertama dan berhenti? Semasa berurusan dengan HTML atau bahasa markup lain, ungkapan biasa sering diperlukan untuk ...

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod