1. 파이썬 가상환경 생성
conda create -n 가상환경이름 python=3.10
나는 가상환경이름을 lambda_310 로할 생각이다!!
그리고 conda activate lambda_310 을 하면 가상환경 진입을 할 수 있다
이렇게 뜨면 성공적으로 가상환경 진입한것임
2. 이 가상환경안에서, 서버 개발 프레임워크 설치
$ pip install flask flask-restful
가상 환경에 들어가주고 위의 문구대로 쳐줘서 라이브러리를 설치해주면 된다.
3.app.py 만들기
일단 app.py를 만들어주고 우측 하단 모리부분에밑에 사진 부분을 클릭하고 가상환경에 들어가준다.
그다음 아래 화면과 같이 코드를 작성해주면 되는데,코드에 대한 설명은 아래에 써놓았
from flask import Flask
from flask_restful import Api
from resources.recipe import RecipeListResource
app = Flask(__name__)
api = Api(app)
# 경로와 리소스(API 코드)를 연결한다.
api.add_resource( RecipeListResource , '/recipes' )
if __name__ == '__main__':
app.run()
- Flask와 Api를 임포트한다.
- Flask 애플리케이션을 생성한다: app = Flask(__name__)
- Api 객체를 생성하여 Flask 애플리케이션과 연결한다: api = Api(app)
- RecipeListResource 클래스를 /recipes 경로와 연결한다: api.add_resource(RecipeListResource, '/recipes')
- 애플리케이션을 실행한다: app.run()
이 코드가 Flask 애플리케이션의 진입점이다. api.add_resource 부분이 핵심인데, 여기서 특정 경로 (/recipes)에 대해 특정 리소스 (즉, API 코드, RecipeListResource 클래스)를 연결한다.
from flask_restful import Resource
class RecipeListResource(Resource):
def post(self):
return {'data': 'hello'}
- Resource 클래스를 상속받아 RecipeListResource 클래스를 정의한다.
- post 메서드는 HTTP POST 요청을 처리한다.
- post 메서드는 간단히 JSON 형식의 응답을 반환한다: {'data': 'hello'}.
이것을 하기 위해서 postman을 다운 받아야한다.(post는 create의 역할을 하는데 클라이언트의 역할을 하는 postman을 다운받아줘야한다)
API 개발 및 테스트를 위한 도구로 사용되는포스트맨을 설치하면된다.
https://www.postman.com/downloads/
POSTMAN은 API를 테스트할 수 있는 도구이다. 클라이언트 역할을 하여 API 서버에 요청을 보내고, 서버의 응답을 확인할 수 있다. 다음은 POSTMAN을 사용하는 기본적인 단계다.
다운받고 난뒤 Home에 들어가 Workspaces에 들어가준다.
그다음 Create Workspace 클릭 => Blank workspace 그대로 놔두고 Next =>이름 정해주고 Only me 클릭 후 Create
New 눌러주고 Collection 클릭 => ...클릭 후 Add Request 해주면 된다.
- 요청 보내기:
- POSTMAN을 열고, 새로운 요청을 만든다.
- 요청의 URL을 입력한다 (예: http://localhost:5000/users).
- HTTP 메서드를 선택한다 (GET, POST 등).
- 필요한 경우, 요청의 바디를 작성한 (주로 POST, PUT 요청에서 사용).
포스트맨의 역할
- 클라이언트 역할: 포스트맨은 API 서버에 요청을 보내는 클라이언트 역할을 한다.
- 요청 종류: 포스트맨을 사용하여 다양한 HTTP 메서드로 요청을 보낼 수 있다.
- GET 요청: 데이터를 조회하기 위해 사용한다.
- POST 요청: 새로운 데이터를 생성하기 위해 사용한다.
- PUT/PATCH 요청: 기존 데이터를 수정하기 위해 사용한다.
- DELETE 요청: 데이터를 삭제하기 위해 사용한다.
- 테스트와 검증: 포스트맨을 통해 보낸 요청에 대한 서버의 응답을 확인하고, API가 예상대로 작동하는지 검증할 수 있다.
요약
- Flask 애플리케이션: app.py에서 Flask 애플리케이션을 설정하고, Api 객체를 생성하여 경로와 리소스를 연결한다.
- 리소스 정의: resources/recipe.py에서 RecipeListResource 클래스를 정의하고, POST 요청에 대한 처리를 구현한다.
- 경로와 리소스 연결: app.py에서 api.add_resource(RecipeListResource, '/recipes')를 통해 /recipes 경로로 들어오는 요청을 RecipeListResource 클래스가 처리하도록 연결한다.
'RestfulAPI' 카테고리의 다른 글
TypeError: Object of type ...is not JSON serializable 에러 발생 이유와 해결 방법 (0) | 2024.05.22 |
---|---|
Restful Python MySQL Connector 셀렉트 하는 방법과 코드 (0) | 2024.05.22 |
Restful Python 에서 MySQL 에 데이터 인서트 하는 방법 (0) | 2024.05.22 |
Restful Python MySQL Connector 설치 방법 (0) | 2024.05.22 |
Restful API란?(URL,Methods,Message) (0) | 2024.05.20 |