BackEnd

1.쿠키1-1. 쿠키만들기make_response로 응답 객체를 생성한다음 set_cookie()로 쿠키만들어서 반환@app.route('/set_cookie')def set_cookie(): resp = make_response('쿠키 설정 완료') resp.set_cookie('my_cookie', 'value123') # 쿠키 설정 return resp   1-2. 쿠키 읽기request.cookies.get('쿠키이름') 으로 읽음@app.route('/get_cookie')def get_cookie(): cookie_value = request.cookies.get('my_cookie') # 쿠키 값 가져오기 return f'쿠키 값: {cookie_value}' ..
1. 기본 Flask 구조app = Flask(__name__)로 Flask 객체를 생성하고app.run() 으로 Flask 앱을 실행한다.from flask import Flask# Flask 객체 생성app = Flask(__name__) # 기본 라우트 설정@app.route('/') def home(): return 'Hello, Flask!' if __name__ == '__main__': app.run() # Flask 앱 실행     2.URL 라우팅2-1.기본 라우트@app.route('/경로') 형식으로 데코레이터로 정의@app.route('/')def home(): return 'Home Page'   2-2.쿼리 파라미터request.args.get(키) 로 해..
1.flaskPython으로 작성된 경량 웹 프레임워크간단한 애플리케이션이나 프로토타입을 빠르게 개발할 때 많이 사용된다.(대규모 애플리케이션 또는 고성능 API에는 부적합하다.)   2.Flask  vs FastAPIFlask 는 2010년도에 나왔고 FastAPI는 2018년도에 출시되었다. 때문에 최신 기술과 고성능 API가 필요한 프로젝트에는 Flask 보다는 FastAPI를 기용하는것이 더 좋을것이다.Flask는 다른 프레임워크에 비해 기본 제공 기능이 적기때문에 간단한 프로젝트나 빠르게 프로토타입을 제작할때 사용할수있다.
1.GunicornPython의 WSGI(Application Gateway Interface) 서버동기적 처리 방식을 가진다. 1-1.WSGI(Application Gateway Interface)웹 애플리케이션과 웹 서버 간의 인터페이스를 정의하는 표준Python 웹 애플리케이션의 표준화된 접근 방식을 제공하여, 웹 서버가 애플리케이션을 실행할 수 있도록한다.         2.UvicornPython ASGI(Asynchronous Server Gateway Interface) 서버비동기 및 병렬 처리가 강점이다    2-1.ASGI(Asynchronous Server Gateway Interface)WSGI와 유사하지만, 비동기 및 병렬 처리를 지원하는 인터페이스다.Python 애플리케이션이 비동..
1.웹소켓 (WebSocket)클라이언트와 서버 간의 양방향 통신을 가능하게 하는 네트워크 프로토콜HTTP 기반의 초기 연결(handshake)을 설정한 후, 지속적으로 연결을 유지하여 클라이언트와 서버가 실시간으로 데이터를 주고받을 수 있도록 설계한다.실시간으로 서로 주고받기때문에 채팅, 라이브 스트리밍같은 서비스를 만들때 유용하다.       2.웹소켓 (WebSocket)으로 실시간 채팅만들기2-1.WebSocket 모듈FastAPI의 WebSocket 모듈은 실시간 양방향 통신을 구현하기 위해 사용할수있고 비동기식 async/await를 활용한다.await websocket.accept(): WebSocket 연결을 수락await websocket.receive_text(): 텍스트 메시지를 비동..
1. 쿼리 매개변수 유효성 검사1-1.QueryFastAPI에서 쿼리 매개변수(query parameters)는 URL에 포함된 데이터를 쉽게 받을 수 있도록 지원한다.   다음은 Query를 통해 쿼리 매개변수를 1~10의 범위로 제한하였다.Query의 첫인자로 (...) 을 쓰면 필수로 받아야할 값이다.## Query 클래스를 사용하여 쿼리 매개변수 유효성 검사@app.get("/items2/")async def get_item(name: str, price: float, limit: int = Query(..., ge=1, le=10)): return {"name": name, "price": price, "limit": limit} http://127.0.0.1:8000/items2/?nam..
1.요청 본문(Request Body) 받기FastAPI에서 Request Body를 받을 려면 Pydanic 모델에서 BaseModel을 통해 상속받아 사용한다.Pydantic 모델로 선언된 Book 타입의 매개변수는 Request Body를 통해 받는걸로 인지한다.from fastapi import FastAPIfrom pydantic import BaseModel# 데이터 모델 정의class Book(BaseModel): title: str author: str price: float is_available: bool = True # 기본값 설정# POST 요청 처리@app.post("/books/")async def create_book(book: Book): retu..
1.경로 매개변수(Path Parameters)FastAPI에서는 파이썬의 포맷 문자열 리터럴로 매개변수를선언할수있다.#경로 매개변수@app.get("/items/{item_id}")# /items/1 -> item_id = 1async def getItemById(item_id: int): #경로 매개변수 item_id return {"item_Id": item_id}   1-2.사전정의 값으로 매개변수Enum을 통해 경로 매개변수로 가능한 값들을 미리 정의할수있다.#열거형 클래스class HumanId(int, Enum): #열거형 클래스 me=1 you=2 we=3#사전 정의된 값으로 경로 매개변수 사용@app.get("/humans/{human_id}")async def ge..
아사_
'BackEnd' 카테고리의 글 목록