'Rest'에 해당되는 글 2건

  1. 2018.04.06 Postman - Part 1
  2. 2016.01.03 REST-API
DevOps/Programmability2018.04.06 12:48

Today Key. : Postman, 포스트맨, API, REST, 개발, 테스트, getpostman  

 


 

이번 포스팅은 REST API의 테스트를 효과적으로 할 수 있는 Postman이라는 도구에 대한 포스팅입니다.

 

현재 대다수의 벤더의 장비들이 REST API 제공하고 있습니다. 이러한 REST API 테스트 있도록 장비 자체적으로

Sandbox 제공하는 경우도 있지만그렇지 않은 경우에는 REST API 테스트 하는 방법이 쉽지는 않습니다.

 

이런 경우에 사용할 있는 도구가 바로 오늘 포스팅하는 Postman 입니다.

 

실제로 Postman API 개발을 하고 테스트를 하기 위해서 개발자들이 많이 사용하는 도구입니다.

 

Postman 사이트(https://www.getpostman.com)에서 Postman 대해서 다음 Postman 설명하고 있습니다.

 

API 개발을 위해서 사용하는 toolchain

 - 글로벌하게 가장 많이 사용되는 REST client

 - API 개발자를 위해서 고안됨

 - request 보내고, response 저장하고, 테스트를 하고, 워크플로우를 만드는 등의 작업에 대해서 직관적인 인터페이스를 제공

 

 

 

오늘은 Postman 설치와 Postman 사이트에서 나온 설치 , 기본 예제 실행까지만 간단히 알아보겠습니다.

 

 

먼저 Postman 사이트입니다.  (Download App을 하시면 됩니다.)

 

 

 

다음과 같이 MAC, Windows, Linux 모두 가능합니다.

여기에서는 Windows 환경에서 설치 하겠습니다.

 

 

※ 참고로 별도 설치가 아닌 Chrome의 AppStore에서 Plug-in 형태로도 설치가 가능합니다.

   하지만, 별도의 App으로의 설치를 권고합니다.  Chrome 플랫폼의 제한으로 인해서 별도 App에서만 제공되는 몇 가지 기능들이 있습니다.

 

 

 

설치 파일을 다운로드 받아서 실행하면 다음과 같이 설치가 됩니다.

 

 

 

설치가 완료된 후, 처음 실행된 화면입니다.

 

 

 

다음의 Postman 사이트에서 기본 Request에 대한 동작을 간략하게 설명한 그림입니다.

Postman을 이용해서 요청할 주소를 기입하고 Send 버튼을 보내면, 이에 대한 값을 받아서 Postman에서는 다시 화면에 보여주게 됩니다.

 

 

 

 

이제 실제 Postman 화면에서 저 예제를 실행합니다.

postman-echo.com/get 을 URL 입력 칸에 기입합니다.

오른쪽의 Send 버튼을 클릭하면, 다음의 그림과 같은 결과가 출력됩니다.

정상적으로 stauts가 200 OK가 떨어지고, 얼마만에 응답이 왔는지 등의 정보를 확인할 수 있습니다.

 

 

 

실제 저 주소를 브라우저에서 치면, 다음과 같은 값을 볼 수 있습니다.

일반 브라우저에서도 해당 내용을 확인할 수 있겠지만,

Postman을 사용하면 좀 더 직관적으로 결과 값을 볼 수 있을 것입니다.

 

 

 

 

다음은 제 블로그를 동일하게 실행한 결과 값입니다.

 

 

 

이번 포스팅은 아주 간단한 Postman에 대한 소개와 설치 방법 그리고 Postman Guide에 있는 첫 번째 예제까지 살펴 보았습니다.

 

이후 포스팅에서 Postman에 대한 좀 더 알아보고,

 

어떻게 네트워크 장비에서 제공되는 Rest API에 활용할 수 있을 것인지에 대해서 다룰 예정입니다.

 

 

 

 

 

Posted by 네떡지기
분류없음2016.01.03 23:17

Today : REST, API, REST-API, RESTful

 

 


 

 

REST-API ( Representational State Transfer)

 

 

<간단요약>

  Server Client간의  표준 HTTP 방식을 통해서 Platform 독립적으로 통신하여 작업을 처리하도록 하는 API.

  기존의 HTTP 표준 방식을 그대로 사용하기 때문에 별도의 메시지 처리를 위한 부하가 없음.

  REST 아키텍처 원칙을 이행하는 방식을 RESTful이라고 . (REST RESTful 서로 다른 개념이 아님)

 

 

 

 

Wiki :

REST(Representational State Transfer)는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다. 이 용어는 로이 필딩(Roy Fielding)의 2000년 박사학위 논문에서 소개되었다. 필딩은 HTTP의 주요 저자 중 한 사람이다. 이 개념은 네트워킹 문화에 널리 퍼졌다.

엄격한 의미로 REST는 네트워크 아키텍처 원리의 모음이다. 여기서 '네트워크 아키텍처 원리'란 자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반을 일컫는다. 간단한 의미로는, 웹 상의 자료를 HTTP위에서 SOAP이나 쿠키를 통한 세션 트랙킹 같은 별도의 전송 계층 없이 전송하기 위한 아주 간단한 인터페이스를 말한다. 이 두 가지의 의미는 겹치는 부분과 충돌되는 부분이 있다. 필딩의 REST 아키텍처 형식을 따르면 HTTPWWW이 아닌 아주 커다란 소프트웨어 시스템을 설계하는 것도 가능하다. 또한, 리모트 프로시저 콜 대신에 간단한 XMLHTTP 인터페이스를 이용해 설계하는 것도 가능하다.

 

 

REST

HTTP URI를 통해 Resource를 명시하고, HTTP Method(Post, Get, Put, Delete)를 통해 해당 Resource에 대한 CRUD Operation을 적용한다. 즉, REST는 ROA(Resource Oriented Architecture) 설계의 중심에 Resource가 있고 HTTP Method를 통해 Resource를 처리하도록 설계된 아키텍쳐를 의미한다.

   CRUD(Create Read Update Delete)

 

 

 

 

REST Architecture 원칙

  Client/Server

  - 클라이언트와 서버 아키텍처 스타일을 사용하여, 서로의 기능을 분리하여 구현

   - 다양한 플랫폼에 대한 이식성 향상

Uniform Interface  (Platform agnostic)

   -  HTTP 표준에 따르는 일관된 인터페이스를 사용

   - 플랫폼, 기술 등에 대해서는 종속적이지 않고 Loosely coupling 되도록 하는 형태

  Stateless

  - Server Client 서비스를 위한 상태 정보를 유지하지 않음.  (Ex. HTTP Session)

   - 정보의 흐름에 대한 가시성 제공 복잡도를 낮춰서 안정적으로 운영 가능.

  - Visibility, Reliability, Scalability 향상

      * Visibility : 별도의 상태정보 없이 단일 Request 대해서만 모니터링,

      * Reliability : partial failures에서 복구 작업이 편리

      * Scalability : 단일 Request 대한 처리로 빠르게 서버 자원에 대한 회수가 가능하며, 구현도 간소화 .

  Cache

  - 기존 HTTP 프로토콜 기반에서 사용 가능 했던 Cache 기능을 그대로 사용 가능하여, 응답시간 성능에 향상

  Layered system

  - 서버의 서비스를 계층적으로 구성

  - 클라이언트가 REST API 서버를 호출을 하게 되면, 서버에서는 내부적으로 계층화 서비스(서비스 구현도 독립적으로)
   
통해서 결과 값을 제공.

  Code on demand (Optional) 

  - Scripts 플러그인 같은 실행 가능한 프로그램을 클라이언트에 전송하여, 클라이언트가 실행

   - 기능을 확장하고 구현을 단순화 가능

  - , 기존의 가시성을 감소 시킬 있음.

   

위의 REST 아키텍처를 구현한 것을 RESTful 하다고 . (REST 따르려는 이들을 RESTafrians이라고도 )

 

 

REST 구성

Resource  : 리소스에 대한 정의. URI 통해서 개별 자원은 독립적인 URI 가지게 .

Action : 리소스에 대한 처리 방법을 정의. HTTP Methon(Post, Get, Put, Delete) 사용

Message : 리소스에 대한 처리 방법에 대한 상세를 정의. HTTP Message Pay Load 통해서 표현.

                      다양한 컨텐츠 타입을 선언하여 사용 가능. (주로 JSON 많이 사용)

 

REST 장점

Open API 제공의 편리

Multi Platform 지원 연동 용이

데이터 형식이 독립적, 원하는 타입(Json, Xml, rss) 데이터 전달 가능

기존에 사용하던 HTTP 그대로 사용

 

 

 

 

참조

http://bcho.tistory.com

http://regularmotion.kr

https://speakerdeck.com/leewin12/rest-api-seolgye

https://ko.wikipedia.org/wiki/REST

등..

Posted by 네떡지기

티스토리 툴바