Udacity-Backend
Accessing Published APIs
Designing RESTful APIs
2022-02-11 19:45
LS2. Accessing Published APIs
Designing RESTful APIs
Writer: SungwookLE
DATE: ‘22.2/11
1. HTTP 이해하기
REST이해를 위해HTTP를 알아보자
HTTPclient-server 플로우
- 클라이언트가 서버에 요청하면 Response로 다양한 형태의 데이터를 받을 수 있다.
HTTPrequests는 아래와 같이 구성된다.
- 예시:

- 예시:
HTTPResponse
- 예시:

- 예시:
2. 실습1: Request & Response using postman
postman이라는 크롭 확장프로그램을 이용하여 간단하게 HTTP request를 보내고 response를 받아보자.
-
코드를
python으로 실행하여 localhost 서버를 열어두고,
-
postman을 실행시켜 나의 서버 ‘url’에 method와 함께 요청을 보내면, response가 날라오는 것을 확인할 수 있다.
HTTP와CRUD사이의 관계
| HTTP | CRUD |
|---|---|
| GET | READ |
| POST | CREATE |
| PUT | UPDATE/CREATE |
| PATCH | UPDATE |
| DELETE | DELETE |
3. 실습2: google map API Request & Response using postman
google map API를 이용하여request와response를 주고받자.
- google cloud platform 가입
- 가입을 해야, Google Maps API key를 준다.
- 계정정보에서
API키를 저장해둔다.
- 공식 튜토리얼을 따라
Google Maps Geocoding API를 사용한다. request보내고,response받기- 사용법보다 더 중요한건, google map API도 REST로 이루어졌다는 것인데, stateless한 url(
geocode/address=Los Angeles California, USA)에 요청을 하면json형태로 response가 날라왔다.
4. 실습3: google map API Request & Response using python
- 구글맵API튜토리얼
python프로그램에선 아래와 같이httprequest & response를 하면된다.- 패키지
httplib2, json을 이용 - google API url을 입력해주고, 생성한
h라는 http 객체에request를 보내 return 값으로response와content를 받는다. content는json포맷으로 변환하여 최종적으로python코드에 return한다.
- 실행결과

- 패키지
5. 실습4: google map API 와 foursquares API를 활용한 Mashup 프로젝트 in python
foursquare API사용시 참고foursquareAPI가 회원가입시, 200달러 토큰 주고, 한번API호출할 때마다 0.01$ 정도 나가니, 아껴서 사용 ㅠ- 회원가입시 받은 credit이 모두 소진되면 유료로 전환하거나, 회원가입을 다시 해서 하면됩니다.
- 중요한 것이, 해당 강의에서는
foursquarev2를 기준으로 진행하는데 찾아보니, v2는 서비스가 종료되었고 v3을 사용하여야 함. http호출할때 url 주소와 파라미터값에 차이가 있으니 참고 아래의 튜토리얼 참고 (다행인것은 튜토리얼이 잘되어 있다.)- 포스퀘어 place API 튜토리얼
- Input:
mealType,location - 프로젝트 구성:
mealType과location을 입력하면 location 주변의 mealType을 갖는 식당의 이름, 주소, 대표사진을 리턴해줌- 실행결과:
findeARestaurant.py코드를 실행하면, 아래와 같이 주변의 식당값을 반환해준다. - 코드: findARestautant.py, geocode.py

- google API를 이용하여
inputString을 입력하면latitude,longitude를 리턴 - return 받은
latitude와longitude를 기준으로 주변의mealType의 식당을 검색 - 주변의 식당값이 return되면, return 값을 기준으로 값(이름, 주소, 대표사진)을 추출
- 실행결과:
