일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 우분투
- github
- programmers
- SW Expert Academy
- 편스토랑 우승상품
- PYTHON
- gs25
- 편스토랑
- 캐치카페
- 프로그래머스 파이썬
- leetcode
- 자연어처리
- ubuntu
- dacon
- 더현대서울 맛집
- Git
- Real or Not? NLP with Disaster Tweets
- Baekjoon
- 백준
- 프로그래머스
- Docker
- 맥북
- Kaggle
- hackerrank
- 금융문자분석경진대회
- 코로나19
- 파이썬
- 데이콘
- AI 경진대회
- ChatGPT
- Today
- Total
목록
반응형
fastapi (4)
솜씨좋은장씨
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bJqvYh/btrfU4H5bPv/JQKmKdjbIXicb748vCA0k0/img.jpg)
이번에 API 개발을 진행하면서 base64형식으로 인코딩한 pdf파일을 request에 포함시켜 API 요청으로 받아 이를 활용하여 하는 작업이 있었습니다. 이번 글에서는 FastAPI에서 base64 형태로 인코딩된 값을 input으로 받고 이 값을 활용는 방법에 대해서 적어보려합니다. 먼저 BaseModel을 상속하여 request와 response 형식을 지정하는 class를 만들어 줍니다. from pydantic import BaseModel class Base64Request(BaseModel): base64_file: str class Base64Response(BaseModel): response_code: str response_message: str 이 형식으로 요청을 받은 base6..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cKGEQm/btrbxrUhm1A/ACtlHCaebDXpdLnpvaJ9QK/img.jpg)
FastAPI로 API를 개발하면서 from fastapi import APIRouter router = APIRouter(tags=["template crud"]) 위처럼 FastAPI의 APIRouter를 활용하여 개발한 후에 호기롭게 실행하였는데...! router = APIRouter(tags=["template crud"]) TypeError: __init__() got an unexpected keyword argument 'tags' 위처럼 APIRouter는 tags라는 항목을 가지고 있지 않다는 오류가 발생하였습니다. 원인 원인은 내 컴퓨터 또는 서버에 설치되어있는 FastAPI의 버전이 낮아 발생하는 오류입니다. 해결방법 pip를 최신버전으로 업데이트 한 이후에 $ python3 -m ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ckLJYo/btq47TI095P/4nGvCbkrPEtB9ZCCT39Tf0/img.png)
최근 aiohttp와 requests가 같이 설치되어있는 가상환경에서 fastapi로 개발되어있는 api 코드를 실행하려고 하니 $ python3 asgi.py ImportError: cannot import name 'DependencyWarning' from 'urllib3.exceptions' (/Users/donghyunjang/42maru/Cerberus/lib/python3.7/site-packages/urllib3/exceptions.py) 위와 같은 오류가 발생하였습니다. 이를 해결하는 방법은 다음과 같습니다. $ pip uninstall urllib3 먼저 urllib3를 제거한 다음 $ pip install urllib3 다시 설치하고 나서 다시 실행해보면! $ python3 asgi...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/d1TUkX/btq2rzzySEb/7HNwYIdYbkY4fXK2MMGVr0/img.jpg)
FastAPI로 API를 제작하고 테스트 하면서 나는 분명히 한 번만 요청했는데 제대로 요청을 받았다는 200OK 응답이 나오기 전에 > 307 temporary redirect 위와 같이 307 temporary redirect 라는 메세지가 한 번 나오고 나서 200OK가 나올 경우가 있습니다. 이 문제의 원인은 본인의 코드에서 endpoint 설정하는 부분을 보면 알 수 있습니다. @app.post(path="/api/v1/testAPI/", response_model=TestResponse) endpoint 마지막에 "/" (슬래쉬) 가 붙어 있을 경우 redirect 하도록 되어있기 때문에 발생합니다. _starlette/routing.py:601_ if scope["type"] == "http..