REST (REpresentational State Transfer)
Rest API는 REST기반 서비스 API 이다.
HTTP는 서버/클라이언트 모델로써 서버와 컴퓨터가 서로 Response(요청)과 Request(응답)으로 통신을 한다.
여기서 통신을 할 때, 방식 중의 하나가 REST이다.
- 자원의 표현에 의한 상태 전달
- HTTP URI를 통해 자원을 명시, HTTP Method를 통해 자원에 대한 CRUD Operation 적용
REST는 HTTP가 통신을 할때 사용하는 방식 중 하나고, 페이지 주소랑 뭘 할 것인지를 적어서
그 페이지에 어떤 행동을 할 것인지를 담는 방식이라고 보면 된다.
ex) http://페이지주소.com << URI를 통해 페이지 내에 담겨있는 모든 자원을 명시
ex) POST, GET, PUT, DELETE << 자원에 대한 CRUD Operation적용
Flask로 REST형식 구현
127.0.0.1:8080/jsontest로 url을 요청받았을 시에
dictionary형태, 즉 key와 value로 이루어져 색인행렬인 JSON에 적합하게 만들어진 데이터가
jsonify()를 통해 JSON응답데이터로 만들어주었다.
클라이언트와 서버가 요청과 응답을 할 시에 이런 식으로 데이터를 주고받게 하는 것이
REST API이다.
REST API 테스트
테스트를 위해 httpie를 사용했다.
pip install --upgrade pip setuptools
pip install --upgrade httpie
윈도우에서는 cmd창에서 위와 같이 다운받을 수 있다.
http -v GET url주소 를 사용해 cmd에서 테스트를 할 수 있다.
위 단락이 request, 아래가 response정보이다.
Request에서는
GET이 http method이고 /jsontest는 경로, HTTP/1.1은 버전정보이다.
Host정보도 알 수 있다.
Response에서는
마찬가지로 버전인 HTTP/1.0, Status code인 200과 Status msg인 OK를 통해 정상적인 실행임을 알 수 있다.
'Back-end' 카테고리의 다른 글
[jinja2] html에서 파이썬 코드 사용하기 (0) | 2022.06.17 |
---|---|
[Back-end] Html에서 get방식으로 파라미터 값 넘기기 (0) | 2022.06.02 |
[Back-end] get방식으로 파라미터 값 넘기기 (0) | 2022.05.30 |
[Back-end] 라우팅 기법으로 데이터 전달, 주소창의 문자 화면으로 출력 (0) | 2022.04.29 |
[Back-end] Flask로 웹 서버 만들기, flask 시작하기 (0) | 2022.04.02 |