RestFul API

Python Flask(ํ”Œ๋ผ์Šคํฌ) ์„ค์น˜ํ•˜๊ณ  VSCode ์ž‘์„ฑํ•˜์—ฌ ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ

567Rabbit 2024. 5. 20. 16:25

์„œ๋ฒ„ ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ(Framework)๋ž€?

 

 

ํŒŒ์ด์ฌ ํ”„๋ ˆ์ž„์›Œํฌ

 

flask (ํ”Œ๋ผ์Šคํฌ)

django (๋””์žฅ๊ณ )

fastAPI (ํŒจ์ŠคํŠธAPI)

 

 

์ž๋ฐ” ํ”„๋ ˆ์ž„์›Œํฌ

 

Spring Boot (์Šคํ”„๋ง๋ถ€ํŠธ)

 

 

 

์•„๋‚˜์ฝ˜๋‹ค ํ”„๋กฌํ”„ํŠธ์— ์„œ๋ฒ„ ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ ์„ค์น˜

 

ํŒŒ์ด์ฌ ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ

conda create -n lambda_310 python=3.10

 

๊ฐ€์ƒํ™˜๊ฒฝ ์‹คํ–‰

conda activate lambda_310

 

๊ฐ€์ƒํ™˜๊ฒฝ ์•ˆ์—์„œ, ์„œ๋ฒ„ ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ ์„ค์น˜

pip install flask flask-restful

 

 

 

VScode ์ž‘์„ฑํ•˜๊ธฐ

 

 

๊ฐ€์ƒํ™˜๊ฒฝ lambda_310์œผ๋กœ ์„ค์ •

 

 

 

 

 

VScode์— app.py ํŒŒ์ผ ๋งŒ๋“ค๊ณ  ๊ธฐ๋ณธ API ๋งŒ๋“ค๊ธฐ

 

 

 

 

resources ํด๋”์™€ ๊ทธ ์•ˆ์— test.py ํŒŒ์ผ์„ ๋งŒ๋“ ๋‹ค.

 

 

 

 

test.py ํŒŒ์ผ ์ž‘์„ฑ

 

 

 

 

๋‹ค์‹œ app.py๋กœ ๋Œ์•„๊ฐ€ ๊ฒฝ๋กœ(path)์™€ ๋ฆฌ์†Œ์Šค(API์ฝ”๋“œ) ์ž…๋ ฅ

 

 

 

 

path๋ž€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

 

 

 

app.py์™€ test.py ํŒŒ์ผ์„ ์ €์žฅํ•˜๊ณ ,

 

VSCode ํ„ฐ๋ฏธ๋„ -> cmd ์—์„œ

set FLASK_APP=app.py
set FLASK_ENV=development
flask run

 

 

 

 

์•„๋ž˜ ํ™”๋ฉด์ด ๋œจ์ง€ ์•Š๋Š”๋‹ค๋ฉด app.pyํŒŒ์ผ๊ณผ test.pyํŒŒ์ผ์„ ์ปจํŠธ๋กค+sํ•˜์—ฌ ์ €์žฅํ•˜๋„๋ก ํ•˜์ž.

 

 

 

 

 

 

API ํ…Œ์ŠคํŠธ๋Š” Postman ํ”„๋กœ๊ทธ๋žจ ํ™œ์šฉํ•˜๊ธฐ

https://www.postman.com/downloads/

 

Download Postman | Get Started for Free

Try Postman for free! Join 30 million developers who rely on Postman, the collaboration platform for API development. Create better APIs—faster.

www.postman.com

 

 

 

Home -> workspaces ์„ ํƒํ•˜๊ธฐ

 

 

 

 

 

Create Workspace ์„ ํƒ

 

 

 

 

 

๊ทธ๋Œ€๋กœ Nextํ•˜๊ณ  create๋ฒ„ํŠผ ๋ˆ„๋ฅด๊ธฐ

 

 

 

 

New -> Collection ํด๋ฆญ

 

 

 

 

Test Server๋กœ ์ด๋ฆ„์„ ์ง€์ •ํ•˜์˜€์Œ

 

 

 

 

 

 

GET

 

 

 

send๋ฅผ ๋ˆ„๋ฅด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์•ˆ๋…•ํ•˜์„ธ์š”๊ฐ€ ๋œฌ๋‹ค.

 

 

 

 

 

POST

 

 

def post(self)๋ฅผ ์ถ”๊ฐ€๋กœ ์ž…๋ ฅํ•˜๊ณ ,

 

 

 

 

Postman์—์„œ POST๋กœ ๋ฐ”๊พธ๊ณ  , Send๋ฅผ ๋ˆ„๋ฅด๋ฉด,

 

 

 

 

 

๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค ๋ผ๊ณ  ๋œฌ๋‹ค.