연휴가 끝났다…
연휴까진 아니지만 공휴일이 겹쳐있어
하루를 더쉬었더니 몸이 돌아오질 않는다….

image

물론 나만의 약속인
1일1커밋과 1일1알고리즘은 지키고있다.

공부를 더했었어야하는데 역시 쉽지가 않다는걸 느꼈다.
사람의 마음이 이렇게 간사할 줄이야…

복습하지 못했던부분을 평일을 이용해 다시 공부해보자!


오늘은 Postman 사용법에 대해 공부했다.
이전에 공부했던 Json형식으로 http 프로토콜을 통해 보내는 방식을
편하게 이용할 수 있고 사용하는 툴이다.

HTTP message

요청과 응답의 유형이 있고, 우리가 자주사용하는 CRUD 메서드를 이용할 수있다.

image

구조는 위의 사진과 같이 나누어진다.
요청 Requests부터 보자면
크게 4가지로 나누어진다.

start line, HTTP headers = head 라고 부르며

body = payload라고 얘기한다.
요청에는 우리가 알고있는 CRUD 메서드들이 있다.
수행할 작업이라하며 POST,GET,PUT,DELETE가 대표적이다.
각각 자세한 분류 및 내용은 추후 정리하도록하자!

응답 Responses을 보면 요청과 다르게
start line -> status line이라고 부른다.

즉 우리가 많이보게 될 숫자들인 200 OK , 403 Forbidden 등..
그 이외에는 요청과 비슷한 구조인 headers와 body를 가지고 있다.
이 마찬가지도 안에 세부적은 분류와 내용이 있지만 이 내용은

추후 정리해보도록하자!


REST API

오늘의 주 목표인 Rest API(Representational State Transfer)는 로이 필딩의
박사학위 논문에서 웹(http)의 장점을 활용할 수 있는 아키텍처로 처음 소개되었다.
웹에서 사용되는 자원을 HTTP URI로 표현하고 HTTP 프로토콜을 통해 요청과 응답을
정의하는 방식을 얘기한다.

오늘 강의에서는 REST API에 대해 여러가지 의견들이
분분하다고 한다. 로이 박사님 논문에서 나온 것대로
작업하기에는 현실에서 적용하기 힘든 것이 있다고 하였다.
그치만서도 Restful한 API를 작성하는 기본적인 룰들이 있다.
회사에서도 API작성할때 기본적으로 깔고 가는 것 같으니 원칙을 지키면서 작업해보자.

image

Level 0 : HTTP 사용.
-> 단순히 HTTP 프로토콜을 사용하기만 해도 된다, 물론 좋은 REST API라고 할 수는 없고
좋은 REST API를 작성하기 위한 기본 단계이다.

Level 1 : 개별 리소스와의 통신을 준수
-> 모든 자원은 개별 리소스에 맞는 엔드포인트를 사용해야한다.
-> 요청하고 받은 자원에 대한 정보를 응답으로 전달해야 한다.

Level 2 : HTTP 메소드 원칙 준수
-> CRUD에 맞게 적절한 HTTP 메서드를 사용하는 것에 중점을 둔다.

Level 3 : HATEOAS 원칙 준수
-> HATEOAS(Hypertext As The Engine Of Application State)라는 약어로 표현되는
하이퍼미디어 컨트롤을 적용한다.
-> 응답에는 리소스의 URI를 포함한 링크 요소를 삽입하여야한다.

Postman 사용하기

image

오늘은 인터넷에 있는 Open API로 요청을하여
값을 받아보는 테스트를 해볼 것이다
먼저 날씨를 받아오는 API이다. 무료로도 사용가능하며
무료일때는 제한이 있지만 공부용으로는 좋은 것 같다.
Weathermap을 사용해보자!

1). 해당 사이트에 가입하여 Key값을 받는다. 2). Open API 문서에 들어간다. 3). 문서의 API 요청 양식대로 GET 요청을 보낸다.

image

4). 응답 포맷과 맞는지 확인한다.

image

크게 어려운 점은 없었고,
포맷에서 내위치에 대한 위도(latitude)와 경도(longitude)를
적어주면 내 지역과 나라 그리고 온도에 대한 정보들이 쭈루룩 표시된다.

두번째로는 공공데이터 포털에서
Open API를 가져오는 것이였다.
첫번째 방법과 비슷했고, 공공데이터 포털에서는
API 활성요청을 보내고 승인이 되면 해당하는 API사용법과 키를 준다.

사용법관련해서는 친절하게 안에 가이드로 설명이 되어있었다.
나는 미세먼지관련된 API를 요청했고
실제로 GET요청을 보냈을때 Json형식의 데이터를 받아볼 수 있었다.

image


오늘은 비교적 알고리즘 섹션에 비하면
널널하게 공부 했던 것 같다.

아직 HTTP 프로토콜에 대한 이해도는 낮지만
남은 시간에 틈틈히 공부해둬서 실제로
코딩으로 어떻게 메서드를 호출하고 적용하는지
흐름을 파악하는게 우선일 것 같다.

오늘 공부 끝!!


오늘의 커피량: ☕️ ☕️ ☕️
오늘의 점심: 만두, 라면