Udacity-Backend
Creating your own API endpoints
Designing RESTful APIs
2022-02-12 17:00
LS3. Creating your own API endpoints
Designing RESTful APIs
Writer: SungwookLE
DATE: ‘22.2/12
1. Flask 사용하기: 기본
- 파이썬 기반의 마이크로 웹 프레임워크
- 간단한 웹 또는 API 서버를 만드는 데 사용
- 공식 튜토리얼
- 기본적인 사용 형태
-
main이 되는 app을 선언하고,
@app.route형태의decorator를 사용하여 url 경로를 추가한다.
- 코드를 실행하면, API 서버가 작동한다.
- API 서버와
request, response하는 형태는 아래와 같다.address = 'http://localhost:5000' url = address + "/puppies" h = httplib2.Http() response, result = h.request(url, "GET")2. Flask 사용하기: method 추가
-
flask에서method: GET, POST, PUT, DELETE를 추가하고 싶을 땐,decorator에서 지정해주면 된다.
3. Flask 사용하기: sqlalchemy DB 추가
-
sqlalchemy패키지를 이용하여, 즉석으로 db를 생성하고, 생성한 db에 데이터를 가져오고 업데이트 해보자.- View the starter code for this exercise.
- View the solution code for this exercise.
-
datadb class 설계하고
serializemethod 설계
-
http 요청으로 데이터를 request 할때, 출력의 형태를
jsonify함수를 이용.jsonify하기 위해serializemethod 설계 필요한 것이었다.

python코드에서@property가 나오는데, 해당 기능은 이번에 알았는데,gettermethod로 변환시켜주는 기능을 부여한다고 한다.python의 class들은 원칙적으로private,public변수 분리가 안되서,private로 따로 지정할 수 없기 때문에 생기는 클래스 변수 오용/오염 문제가 있는데, 이를 코딩 가이던스로서 해결하고자 해당 기능이 있다고 함- 코드잇: @property설명
4. Flask 사용하기: google API + foursquare API + sqlalchemy DB 연동
flask로 웹 API 서버를 열어두고, 유저로부터 요청이 오면, 요청에 따라 레스토랑의 정보를 불러오고, 입력하고, 업데이트하고, 삭제하는 (CRUD, Create, Read, Update, Delete) 하는 프로젝트- 실습 코드(직접 프로그래밍): findARestaurant.py, geocode.py, models.py, views.py, tester.py
- views.py 는 웹API 서버를 열어주는 코드
- models.py 는 DB의 구조를 선언한 코드
- tester.py 는 테스트 코드
sqlalchemy를 활용하여 DB를 만들고 업데이트하고 입력해주었다.- 실행결과:
