티스토리 뷰
기본 사용법
- main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}")
async def read_item(item_id):
return {"item_id": item_id}
{item_id}
에 매핑되어 read_item(item_id)
매개변수로 받을 수 있습니다.
서버를 실행 한 후 PostMan으로 위에서 만든 핸들러를 호출해봅니다.
{item_id}로 받은 값이 출력되는 것을 확인할 수 있습니다.
매개변수 타입지정
@app.get("/items/{item_id}")
async def read_item(item_id: int):
return {"item_id": item_id}
: int
로 지정해주면 됩니다.
만약 /items/3
을 호출하면 "3"이 아닌 int형 3으로 받게됩니다.
만약 str 값을 넘길 경우 에러가 발생합니다.
파이썬 타입을 선언하면 데이터 검증을 진행하며, 오류는 검증을 통과하지 못한 지점까지 정확하게 명시한다고 합니다.
Enum 타입 매개변수
지정된 Enum 타입으로 매개변수를 받고 싶다면
- main.py
from enum import Enum
from fastapi import FastAPI
app = FastAPI()
class Brand(str, Enum):
nike = "nike"
adidas = "adidas"
@app.get("/brands/{brand_name}")
async def get_brand(brand_name: Brand):
if brand_name == Brand.nike:
return {"brand_name": brand_name, "message": "JUST DO IT."}
if brand_name == Brand.adidas:
return {"brand_name": brand_name, "message": "IMPOSSIBLE IS NOTHING."}
실행 결과
위 예제에서 매개변수 타입을 Brand 타입으로 지정을 했기 때문에
등록되지 않은 Enum일 경우에러와 함께 등록된 Enum 목록을 알려줍니다.
이번 포스팅은 여기서 마무리하겠습니다.
모든 코드는 Github 에서 보실 수 있습니다.
틀린점과 개선할 점은 댓글로 알려주시면 감사하겠습니다.
'Dev > Python' 카테고리의 다른 글
[Fast Api] 3. Query Parameter (0) | 2021.06.12 |
---|---|
[Fast Api] 1. 처음 시작하기 (0) | 2021.06.09 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- mapstruct
- Python
- 개발
- booleanExpression
- 웹서비스
- JPA
- Security
- 스프링
- springsecurity
- Java
- 유사결과
- ControllerAdvice
- boot
- java11
- FastAPI
- paawordencoder
- 스프링부트 시작하기
- spring web
- Spring
- 자바
- springboot
- howtoinstallnginx
- ResourceHttpReqeustHandler
- 스프링시큐리티
- like절
- @formula
- 스프링부트
- API
- ubuntu
- QueryDSL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함