728x90
1. DELETE
- 데이터 삭제
2. 함수 생성
@app.delete("/{book_id}")
async def delete_book(book_id: UUID):
counter = 0
for BOOK in BOOKS:
counter += 1
if BOOK.id == book_id:
del BOOKS[counter - 1]
return f'ID:{book_id} deleted'
- 경로 매개변수 book_id로 UUID를 받음
- counter라는 변수에 0으로 초기화
- BOOKS list를 for문을 돌면서 dict를 하나씩 꺼내서 확인
- dict의 id키의 value 값과 book_id로 받은 UUID의 값의 일치 여부를 확인
- 일치하다면 BOOKS의 인덱스로 접근해 삭제한 후 삭제 멘트 return
3. Swagger 확인
Title 1에 해당하는 dict를 지울 예정 db6d5c1f-0460-4bab-8aa1-a801bf843273
(1) GET 요청을 했을 때 현재 list안에 값들이 잘 들어가있다.
(2) DELETE 요청을 했고 200 코드가 나오면서 delete 구문이 잘 return 되는 것을 확인 할 수 있다.
(3) 다시 GET 요청을 했을 때 book_id로 넣었던 값이 삭제된 것을 볼 수 있다.
4. 에러 사항 확인
- list에 없는 UUID를 넣는다면?
728x90
SMALL
'Develop > FastAPI' 카테고리의 다른 글
FastAPI Raise HTTP Exception(사용자 지정) - 24 (0) | 2022.12.24 |
---|---|
FastAPI Raise HTTP Exception - 23 (0) | 2022.12.24 |
FastAPI Put Request - 21 (2) | 2022.12.23 |
FastApi Get By UUID - 20 (0) | 2022.12.22 |
FastAPI Get Request - 19 (0) | 2022.12.22 |