1. pgAdmin 실행 후 서버 생성(Register >> Server or Quick Links >> Add New Server ※ Save를 했을 때 에러가 난다면 확인 사항 PostgreSQL 서버의 서비스가 정상 작동 여부 PostgreSQL 서버 주소와 포트의 일치 여부 Telnet을 통하여 서버의 아이피와 포트 접근 가능 여부 2. Super User 확인 3. Database 생성 4. Table 생성 >> 실행 버튼 클릭 >> refresh DROP TABLE IF EXISTS users; # 테이블이 있다면 테이블 삭제 CREATE TABLE users ( id SERIAL, email varchar(200) DEFAULT NULL, username varchar(45) DEFAULT ..
Postman을 통해서 CRUD 해보기 https://web.postman.com 1. 전체 코드 database.py from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker SQLALCHEMY_DATABASE_URL = "sqlite:///./test.db" engine = create_engine( SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False} ) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) models.py from sqlalchemy import Bool..
JWT를 생성한 후 Postman을 통해 DELETE 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에서 DELETE요청을 위해 auth의 함수를 import 한다. from auth import get_current_user, get_user_exception @app.delete("/{todo_id}") async def delete_todo..
JWT를 생성한 후 Postman을 통해 PUT 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에서 PUT요청을 위해 auth의 함수를 import 한다. from auth import get_current_user, get_user_exception @app.put("/{todo_id}") async def update_todo(todo_i..
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, u..
JWT를 생성한 후 Postman을 통해 GET API를 요청해 보자 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에서 get요청을 위해 auth의 함수를 import 한다. from auth import get_current_user, get_user_exception @app.get("/todo/{todo_id}") async def read_todo(todo_id: int, user:dict = ..
JWT를 생성한 후 Postman을 통해 GET API를 요청해 보자 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에서 get요청을 위해 auth의 함수를 import 한다. from auth import get_current_user, get_user_exception #GET API 생성 @app.get("/todos/user") async def read_all_by_user(user: dict ..
데이터베이스 내에서 Users와 Todos테이블간의 데이터끼리 관계 설정 해보기[사용자(User) - 할 일(Todo)] 1. auth.py 파일 실행 후 테스트 유저 생성 uvicorn auth:app --reload 2. 서버 실행을 닫고 터미널에서 생성 확인 ※ POST API로 만든 테스트 유저가 id:2로 생성되어있다. 3. todos테이블에 데이터 insert 후 select 확인 insert into todos (title, description, priority, complete, owner_id) values ("Take out the dog", "he needs to use the bathroom", 5, false, 1); insert into todos (title, descript..
Postman이란? 개발자들이 API를 디자인 / 빌드 / 테스트를 하고, 개발된 API를 문서화 또는 공유할 수 있는 플랫폼. 빠른 API 팀원들과의 공유 기능 API 사용의 내용과 기록 저장 1. 공식 홈페이지 접속 https://www.postman.com/ 2. window or mac icon 클릭 후 다운로드 3. GET요청을 사용해 보기 https://developers.kakao.com/docs/latest/ko/daum-search/dev-guide 예제 - kakao API 검색 GET /v2/search/web HTTP/1.1 Host: dapi.kakao.com Authorization: KakaoAK ${REST_API_KEY} Parameter NameTypeDescription..
예외 처리를 함수로 만들어서 코드를 가독성이 좋게 만드는 것이 목표 1. 라이브러리 import #status 삽입 from fastapi import FastAPI, Depends, HTTPException, status 2. user 인증 에러 함수 def get_user_exception(): credentials_exception = HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Could not validate credentials", headers={"WWW-Authenticate":"Bearer"}, ) return credentials_exception 3. token 인증 에러 함수 def token_exception(..