빠른 API [1부]
12234 단어 tutorialpythondevjournal
따라하기 위한 전제 조건
🎯 파이썬 설치
🎯 Pipenv 가상 환경
🎯 Vscode
pipenv 설치
pip install --user pipenv
팔로우를 하려면 다음 전제 조건이 필요합니다.
fastapi 설치
pipenv install fastapi
이렇게 하면 프로젝트 디렉터리에 Pipfile 및 Pipfile.lock 파일이 생성됩니다. Nodejs의 package.json
및 package.lock.json
파일과 같은 것을 생각하십시오. pipfile은 프로젝트 종속성을 보유합니다.서버를 시작하려면
uvicorn
가 필요합니다. sourcepipenv install uvicorn[standard]
기본 앱 설정
이제 서버를 구축해 보겠습니다.
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
위는 우리 restapi의 가장 기본적인 버전입니다.
vscode를 사용하고 Python 인터프리터를 찾을 수 없기 때문에 이제 문제가 발생했습니다.
고정
import "fastapi" could not be resolved
1) VsCode에서 Ctrl + Shift + P를 누릅니다.
2) 프로젝트 이름과 일치하는 Python 인터프리터를 선택합니다.
더 이상 경고가 없습니다.
그런 다음 다음 명령을 실행하여 앱을 시작합니다.
uvicorn main:app --reload
API 테스트
uvicorn 명령을 실행할 때 제공된 호스트 및 포트에서 브라우저를 방문하십시오. http://127.0.0.1:8000에서 브라우저를 엽니다.
JSON 응답을 받았습니다.
Javascript의 개체 배열과 같이 사전 목록을 출력하는 다른 끝점을 만들어 봅시다.
이제 브라우저를 방문하겠습니다
http://127.0.0.1:8000/persons
.FastApi의 장점은 Swagger라는 문서화 엔진이 미리 로드되어 있다는 것입니다.
http://127.0.0.1:8000/docs
를 방문하여 이전에 언급한 두 끝점에 대한 설명서를 가져옵니다.다음으로 pydantic의 BaseModel을 사용하여 게시물 요청을 생성합니다.
from typing import Optional
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
@app.get("/persons")
async def persons():
return {"data": [
{"name": "John", "age": 30, "tall": True},
{"name": "Doe", "age": 25}
]}
class Person(BaseModel):
name: str
age: int | None = None
tall: bool = False
@app.post("/persons")
async def create_person(person: Person):
return {"data": person}
이제 swagger 문서를 사용하여 create_person 끝점을 테스트해 보겠습니다.
실행을 클릭하면 다음을 얻습니다.
pydantic 모델에서 방법을 수행해 봅시다.
from typing import Optional
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
class Person(BaseModel):
name: str
age: int | None = None
tall: bool = False
@app.post("/persons")
async def create_person(person: Person):
return {"data": f"my name is {person.name.upper()} and i am {person.age} years old"}
결과:
결론
몇 분 만에 이 최신 Python 프레임워크를 사용하여 restapi를 생성하는 방법을 배웠고 fast api와 함께 사전 설치된 swagger 문서를 탐색했습니다.
다음 단원에서는 sqlalchemy 데이터베이스에 대한 전체 CRUD 기능과 오류 처리 및 상태 코드를 만드는 방법을 살펴보겠습니다.
이 게시물이 도움이 되었기를 바랍니다. 시간을 내어 읽어주셔서 감사합니다.
Reference
이 문제에 관하여(빠른 API [1부]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/drsimplegraffiti/fast-api-part-1--j2l텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)