HTTPie
- HTTP 요청을 생성하는 도구
- Postman, curl 등등 과 같은 도구다.
sudo snap install httpie
http localhost:8000
경로 매개 변수
from fastapi import FastAPI
app = FastAPI()
@app.get("/users/{userid}")
def get_user(user_id: int):
return {"user_id": user_id}
- 이 코드에서는 user_id가 경로 매개변수인 것이다.
- HTTPie를 통해 요청해보자.
- 정상작동한다. 다만, 알아야할 점은 type hint로 int를 줬기 때문에 값이 int로 잘 나온 것이다. typehint를 주지 않았다면 string으로 나오니 주의한다.
- typehint를 주면, 해당 type이 아니면 type error가 발생해서 handling 한다.
- 그냥 좋은 방법은 docs로 가서, 스웨거를 쓰면된다.
- url 경로 매개 변수에 type 힌트를 줘도 되지만 그냥 그러지말고 함수의 매개변수에다가 typehint를 주자.
- Fast API는 위에서 아래로 읽으면서 들어오기 때문에 /users/me 이런 url 이 아래에 있었다고 하면 에러를 내뱉는다. (단점, 주의!)