찾다
백엔드 개발파이썬 튜토리얼FastAPI에서 API 문서 및 UI 표시 자동 생성을 구현하는 방법

FastAPI에서 API 문서 및 UI 표시 자동 생성을 구현하는 방법

FastAPI와 같은 강력한 Python 프레임워크를 사용하면 고성능 웹 API를 쉽게 구축할 수 있습니다. 그러나 API를 구축하는 동안 다른 개발자가 API를 이해하고 사용할 수 있도록 명확하고 이해하기 쉬운 API 문서도 필요합니다. 이 기사에서는 FastAPI를 사용하여 API 문서를 자동으로 생성하고 UI를 통해 표시하는 방법을 소개합니다.

먼저 FastAPI 및 관련 종속 라이브러리를 설치해야 합니다. 설치하려면 명령줄에서 다음 명령을 실행하세요.

pip install fastapi
pip install uvicorn
pip install fastapi_utils

다음으로 필요한 모듈을 가져와야 합니다.

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

그런 다음 FastAPI의 인스턴스를 만듭니다.

app = FastAPI()

다음으로 API 모델을 정의할 수 있습니다. API 모델은 API 요청 및 응답에 대한 필드를 포함할 수 있는 FastAPI에서 제공하는 APIModel 클래스를 사용하여 정의됩니다. 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

FastAPI 애플리케이션에서는 이 모델을 사용하여 API 경로와 로직을 정의할 수 있습니다.

rrreee

위 코드에서는 HTTP GET 요청에 대한 경로 /users/{user_id}를 정의하고 응답 모델을 User로 지정합니다. 또한 나중에 API 문서를 구성하고 필터링하는 데 사용할 수 있는 간단한 설명과 레이블을 경로에 추가했습니다.

다음으로 APIModelDoc 클래스를 사용하여 API 모델에 대한 문서를 생성할 수 있습니다. 🎜rrreee🎜위의 코드를 사용하면 우리의 API 모델이 API 문서에 등록됩니다. 🎜🎜마지막으로 docs.html 메서드를 사용하여 자동으로 생성된 API 문서의 HTML 코드를 가져와야 합니다. 🎜rrreee🎜위 코드에서는 GET 경로 /docs를 정의하고 자동으로 생성된 API 문서의 HTML 코드를 반환합니다. 여기에서는 이 경로에 docs 태그를 추가하여 API 문서에서 경로를 필터링하고 구성합니다. 🎜🎜이제 FastAPI 애플리케이션을 실행하고 자동으로 생성된 API 문서를 살펴보겠습니다. 🎜rrreee🎜명령줄에서 다음 명령을 실행하여 애플리케이션을 시작하세요. 🎜rrreee🎜그런 다음 브라우저에서 http://localhost:8000/docs를 방문하면 자동으로 생성된 내용을 볼 수 있습니다. API 문서. 🎜🎜위의 단계를 통해 FastAPI에서 API 문서의 자동 생성 및 UI 표시를 성공적으로 구현했습니다. 필요에 따라 API 문서의 스타일과 콘텐츠를 추가로 사용자 정의하고 조정할 수 있습니다. 🎜🎜이 기사가 FastAPI를 사용하여 강력한 API를 구축하고 API에 대한 명확하고 이해하기 쉬운 문서를 제공하는 데 도움이 되기를 바랍니다. 🎜

위 내용은 FastAPI에서 API 문서 및 UI 표시 자동 생성을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
파이썬 : 편집과 해석에 대한 깊은 다이빙파이썬 : 편집과 해석에 대한 깊은 다이빙May 12, 2025 am 12:14 AM

Pythonusesahybridmodelofilationandlostretation : 1) ThePyThoninterPretreCeterCompileSsourcodeIntOplatform-IndependentBecode.

Python은 해석 된 또는 편집 된 언어입니까? 왜 중요한가?Python은 해석 된 또는 편집 된 언어입니까? 왜 중요한가?May 12, 2025 am 12:09 AM

Pythonisbothingretedandcompiled.1) 1) it 'scompiledtobytecodeforportabilityacrossplatforms.2) thebytecodeisthentenningreted, withfordiNamictyTeNgreted, WhithItmayBowerShiledlanguges.

루프 대 파이썬의 루프 : 주요 차이점 설명루프 대 파이썬의 루프 : 주요 차이점 설명May 12, 2025 am 12:08 AM

forloopsareideal when

루프를위한 것 및 기간 : 실용 가이드루프를위한 것 및 기간 : 실용 가이드May 12, 2025 am 12:07 AM

forloopsareusedwhendumberofitessiskNowninadvance, whilewhiloopsareusedwhentheationsdepernationsorarrays.2) whiloopsureatableforscenarioScontiLaspecOndCond

파이썬 : 진정으로 해석 되었습니까? 신화를 파악합니다파이썬 : 진정으로 해석 되었습니까? 신화를 파악합니다May 12, 2025 am 12:05 AM

pythonisnotpurelynlogreted; itusesahybrideprophorfbyodecodecompilationandruntime -INGRETATION.1) pythoncompilessourcecodeintobytecode, thepythonVirtualMachine (pvm)

동일한 요소를 가진 Python Concatenate 목록동일한 요소를 가진 Python Concatenate 목록May 11, 2025 am 12:08 AM

ToconcatenatelistsinpythonwithesameElements, 사용 : 1) OperatorTokeEpduplicates, 2) asettoremovedUplicates, or3) listComperensionForControlOverDuplicates, 각 methodHasDifferentPerferformanCeanDorderImpestications.

해석 대 컴파일 언어 : Python 's Place해석 대 컴파일 언어 : Python 's PlaceMay 11, 2025 am 12:07 AM

PythonisancerpretedLanguage, 비판적 요소를 제시하는 PytherfaceLockelimitationsIncriticalApplications.1) 해석 된 언어와 같은 thePeedBackandbackandrapidProtoTyping.2) CompilledlanguagesLikec/C transformt 해석

루프를 위해 및 while 루프 : 파이썬에서 언제 각각을 사용합니까?루프를 위해 및 while 루프 : 파이썬에서 언제 각각을 사용합니까?May 11, 2025 am 12:05 AM

useforloopswhhenmerfiterationsiskNownInAdvance 및 WhileLoopSweHeniTesslationsDepoyConditionismet whilEroopsSuitsCenarioswhereTheLoopScenarioswhereTheLoopScenarioswhereTheLoopScenarioswhereTherInatismet, 유용한 광고 인 푸트 gorit

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음