postman.md 3.05 KB
Newer Older
HooYoungAhn's avatar
HooYoungAhn committed
---
html:
  toc: true
  offline: true
export_on_save:
  html: true
---
# Postman 설치하기
---

KSB 인공지능 프레임워크는 RESTful API를 통해 많은 인터페이스와 서비스를 제공하며,
이러한 기능을 확인하기 위해 Postman 이라는 RESTful 인터페이스 시험 도구를 사용합니다.

## Postman 관련 정보
- 다음 링크를 통해 자세한 요구사항 등을 확인할 수 있습니다. [Postman](https://www.getpostman.com/)

## Postman 설치 하기

Postman 은 windows, mac, linux 환경을 모두 지원하며,
여기에서는 리눅스 환경에서의 설치 방법을 설명 합니다.

설치는 다음과 같이 압축을 해제 하는 것으로 완료 됩니다.

```sh
$ wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz

$ sudo tar -xzf postman.tar.gz -C /opt

$ sudo ln -s /opt/Postman/Postman /usr/bin/postman
```

Ubuntu 탐색기에서 검색 및 이용할 수 있도록 다음과 같은 명령을 실행 합니다.

```sh
cat > ~/.local/share/applications/postman.desktop <<EOL
[Desktop Entry]
Encoding=UTF-8
Name=Postman
Exec=postman
Icon=/opt/Postman/resources/app/assets/icon.png
Terminal=false
Type=Application
Categories=Development;
EOL
```

이제 Ubuntu의 Unity launcher를 통해 검색 및 이용할 수 있습니다.
![postname browse](./images/postman_1.png)

## Postman 실행 하기

Postman 을 구동하면 다음과 같이 로그인 창이 뜹니다. 바로 사용할 수도 있으나,

구글 계정 등으로 로그인을 하게 되면, 테스트한 RESTful API 이력을 Postman에서 백업 및 관리 해 줍니다.

![postman_first](./images/postman_2.png)


## Postman 기능

Postman은 원활한 RESTful API 테스트를 위해 다음과 같은 메뉴들을 제공합니다.
- API 테스트 이력을 보여주는 history
- API 테스트를 그룹화 하여 관리해 주는 collection
- 테스트 할 RESTful API 정보를 입력하기 위한 입력창

RESTful API 테스트를 위해 RESTful API에 대해 이해하고 있어야 합니다.

### RESTful API

#### Method
- POST
- GET
- PUT
- DELETE

#### Params
http url 뒤에 붙는 파라미터로, 예를 들어 url이
http://localhost:19999/submitJob?userId=guest&wfName=workflow&desc=description 이면,
userId, wfName, desc 가 Param 가 됩니다

#### Headers
서버로 부터 응답 받을 content type 등을 명세합니다.
예를 들어 json 형태로 응답 받고자 한다면,
Key: Content-Type , Value: application/json
으로 입력 합니다.

#### Body
POST 와 PUT을 사용하는 요청에서는 서버가 처리해 주길 요구하는 구체적인 정보를 포함할 수 있습니다.

![postman_test](./images/postman_3.png)


## Postman을 통한 RESTful API 테스트

KSB 인공지능 프레임워크가 localhost의 19999 포트를 통해 구동되고 있다고 가정하고 다음과 같이 실행 합니다.

```sh
Method: GET
URL: http://localhost:19999
```

만약, KSB 인공지능 프레임워크가 정상적으로 동작중이면, 다음과 같은 응답을 받을 수 있습니다.

![postman_test](./images/postman_4.png)