FastAPI Postman을 통한 POST요청(사용자 ID) - 55

2023. 1. 10. 23:21·Develop/FastAPI
728x90
SMALL
JWT를 생성한 후 Postman을 통해 POST API를 요청해서 todos 테이블에 데이터를 저장해 보자

 

1. auth 서버 실행 후 POST API를 통해 사용자 bearer token을 생성한다.

#포트를 8000번이 아닌 9000번에 열겠다.
uvicorn auth:app --reload --port 9000

9000포트로 실행 시킨 이유

#auth.py로 토큰 생성 port:9000
#main.py로 데이터 요청 port:8000

 

 

2. main.py에서 POST요청을 위해 auth의 함수를 import 한다.

from auth import get_current_user, get_user_exception
@app.post("/")
async def create_todo(todo: Todo, user: dict = Depends(get_current_user), db: Session = Depends(get_db)):

    if user is None:
        raise get_user_exception()
    todo_model = models.Todos()
    todo_model.title = todo.title
    todo_model.description = todo.description
    todo_model.priority = todo.priority
    todo_model.complete = todo.complete
    todo_model.owner_id = user.get("id")

    db.add(todo_model)
    # db.flush()
    db.commit()

    return successful_response(200)

※ bearer token와 맞는 user의 id를 받아서 owner_id에 넣는다.

 

 

3. create_todo의 생성 form을 복사해 온다

{
  "title": "string",
  "description": "string",
  "priority": 0,
  "complete": true
}

 

 

4. Postman 접속 후 POST 요청해 보기

새로운 터미널을 열어서 실행
uvicorn main:app --reload

user: codingwithseok / password: test1234! 의 사용자에 대한 todos 테이블의 데이터를 생성한다.

※ 사용자에 대한 인증을 위해 bearer token을 반드시 넣어줘야 한다(token을 생성한 이유)

 

Body에 데이터를 넣어 요청을 보낸다. 이때 옵션은 raw / type은 JSON

status 200 코드를 확인할 수 있다.

 

 

다시 GET 요청을 했을 때 id 4로 추가된 것을 볼 수 있다.

owner_id는 user: codingwithseok / password: test1234! 에 대한 토큰을 넣었기 때문에 1로 들어간 것을 확인할 수 있다.

728x90
SMALL
저작자표시 비영리 변경금지

'Develop > FastAPI' 카테고리의 다른 글

FastAPI Postman을 통한 DELETE요청(사용자 ID + 할 일 ID) - 57  (0) 2023.01.11
FastAPI Postman을 통한 PUT요청(사용자 ID + 할 일 ID) - 56  (0) 2023.01.11
FastAPI Postman을 통한 GET요청(사용자 ID + 할 일 ID) - 54  (0) 2023.01.10
FastAPI Postman을 통한 GET요청(사용자 ID) - 53  (0) 2023.01.10
FastAPI 데이터베이스 내 User와 Todo의 관계 설정 - 52  (0) 2023.01.10
'Develop/FastAPI' 카테고리의 다른 글
  • FastAPI Postman을 통한 DELETE요청(사용자 ID + 할 일 ID) - 57
  • FastAPI Postman을 통한 PUT요청(사용자 ID + 할 일 ID) - 56
  • FastAPI Postman을 통한 GET요청(사용자 ID + 할 일 ID) - 54
  • FastAPI Postman을 통한 GET요청(사용자 ID) - 53
동석해요
동석해요
공부하고 싶은게 많은, 사소한 IT 지식들 공유
    250x250
  • 동석해요
    개발로 자기계발
    동석해요
  • 전체
    오늘
    어제
    • 분류 전체보기 (226)
      • Develop (126)
        • 기초지식 (12)
        • FastAPI (102)
        • Django (11)
      • Database & Data (62)
        • 기초지식 (16)
        • MySQL (29)
        • PostgreSQL (8)
        • 데이터 분석 (9)
      • 인공지능 (11)
        • PyTorch (9)
      • Cloud (8)
        • AWS (4)
        • GCP (2)
      • 버그처리 (14)
      • 회고 & 일상 (5)
  • 인기 글

  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
동석해요
FastAPI Postman을 통한 POST요청(사용자 ID) - 55
상단으로

티스토리툴바