Programmers 인공지능 데브코스 - Week 4 Day 1

6873 단어 FlaskREST APIFlask

😃[4주차 - Day1]😃

REST Api

RESTful Api를 구성하기?

Representational state transfer

이는 어떠한 하나의 방법론이며, 요즘 가장 흔하고 유명한 방법입니다.
GraphGL이 무섭게 치고올라오고 있는중.

  • HTTP URI : 웹 상에서 정보를 요청할 때 대상의 위치에 대한 식별자가 URI입니다. URI에 속하는 것 중 대표적인 것이 URL입니다.

HTTP Method를 통해 해당 자원에 대한 CRUD를 진행합니다.

  • HTTP Method : 정보를 요청하는 과정에서 쓰일 수 있는 여러가지 프로토콜(HTTP)약속으로 정해진 요청 방법들. GET, POST, PUT, DELETE
from flask import Flask, jsonify, request
app = Flask(__name__) # Flask를 바탕으로 한 객체 생성. 인자로 __name__전달.

menus = [
    {"id":1, "name":"Espresso", "price":3800},
    {"id":2, "name":"Americano", "price":4100},
    {"id":3, "name":"CafeLatte", "price":4600},
]


# 홈 디렉토리
@app.route('/')
def hello_code():
    return 'Hello World!'


# GET /menus : 자료를 가지고 온다
@app.route('/menus')
def get_menus():
    return jsonify({"menus" : menus})
# menus는 리스트로 json으로 변환할 수 없다. 


# POST /menus : 자료를 자원에 추가한다.
@app.route('/menus', methods=['POST'])
def create_menu():
    request_data = request.get_json() # {"name" : ..., "price": ...}
    new_menu = {
        "id" : 4,
        "name" : request_data['name'],
        "price" : request_data['price'],
    }
    menus.append(new_menu)
    return jsonify(new_menu)


if __name__ == '__main__':
    app.run()

위와 비슷하게 GET, POST를 구성할 수 있습니다.

Postman을 통해 API를 테스트

API를 테스트해볼수 있는 엄청 좋은 프로그램입니다.

CRUD 모두 테스트 해보며 값 전달, 값 반환 모두 확인할 수 있습니다 짱짱!

좋은 웹페이지 즐겨찾기