본문 바로가기

BackEnd/Python-Flask

[백엔드] Flask : @app.route() 의미

반응형

@app.route() 의미

 

@app.route('/', methods = ['GET'])
def hello_world():
    return 'Hello World hihi'

- route란: URI를 정리하는 것, 연결시켜주는 아이.

- Request가 왔을 때, router가 항상 먼저 받는다. 그리고 어떤 모델을 실행시켜줘야할지 판단한다.

Ex) 로그인의 요청이 왔을 때, 유저의 정보를 유저 모델에 전달해준다. ( 로그인 함수 매개변수 값에 id와 패스워드를 전달해준다). 그럼 조건이 만족했을 때, 쿠키를 내려준다. 

 

- @app.route: 해당 앱의 URL을 함수/기능에 쉽게 할당하기 위해 Flask가 제공하는 Python 데코레이터이다.

- 첫번째 매개변수는 경로(URL)이다

- @app: 은 .route()에 표시된 해당 앱 도메인(경로)을 방문할 때마다,  hello_world() 함수를 실행하라고 알려준다.

 

- 경로위에 추가 경로 데코레이터를 얹으면 단일 함수로 여러 경로를 처리할 수 있다.

@app.route("/")
@app.route("/Home")
@app.route("/index")
def hello_world():
    return 'Hello World hihi'

- 각 다른 도메인(경로)이지만, 같은 화면으로 표시된다.

 

@app.route('/', methods = ['GET'])
def hello_world():
    return 'Hello World hihi'

- 두번째 매개변수는 HTTP 메서드이다

- ‘GET’이 디폴트 값이다. 

ㄴ 따로 표시를 하지 않는 이상은 ‘GET’ 요청만 수락한다.

 

HTTP Methods

- 주요 메소드 5가지

GET For reading data 리소스 조회, 오직 데이터를 받기만 한다.
POST For creating data 요청 데이터 처리, 주로 데이터 등록에 사용
PUT For updating data by completely replacing data with new content 리소스를 대체, 해당 리소스가 없으면 생성
PATCH For updating data, but by partially modifying a few attributes 리소스를 일부만 변경
DELETE For deleting data 리소스 삭제

 

GET: 보통 리소스를 조회할 때 사용하며, 서버에 전달하고 싶은 데이터는 query를 통해서 전달한다. 메시지 바디를 사용해서 데이터를 전달할 수는 있지만, 지원하지 않는 곳이 많다.

POST: 데이터 요청을 처리하고, 메시지 바디를 통해서 서버로 데이터를 전달한다. 주로 신규 리소스를 등록하거나 프로세스 처리에 사용된다.

PUT: 리소스가 있으면 대체하고, 리소스가 없으면 생성한다. 쉽게 말해 데이터를 덮어쓴다.

PATCH: PUT과 마찬가지로, 리소스를 수정할 때 사용하지만, PATCH는 리소스를 일부분만 변경할 수 있다.

DELETE: 리소스를 제거할 때 사용한다.

 

참고: 

https://kyun2da.dev/CS/http-%EB%A9%94%EC%86%8C%EB%93%9C%EC%99%80-%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C/


반응형