Skip to content
On this page

API 활용

HTTP GET/POST/PUT/DELETE등 다양한 API들을 셀렉트에 연결합니다.

  • 원하는 결과물을 테이블로 표시
  • 원하는 입력폼을 구성하여 API로 호출
  • (지원예정) API 호출 시 로그/슬랙 알림

셀렉트어드민 HTTP 블록은 axios와 got을 지원합니다. 다른 지원이 필요한 경우 문의해주세요.

API 내용을 표시하기 (HTTP GET)

아래의 YML로 간단한 조회를 합니다.

yaml
menus:
- path: test/http-get
  name: HTTP-GET

pages:
- path: test/http-get
  blocks:
  - type: http
    axios:
      method: GET
      url: https://gist.githubusercontent.com/eces/c267436ddeec8917b47ee666b0d5e955/raw/892877e7035c4f61e946848a3f6da7e9983cab15/test.json
    rowsPath: rows
yaml
menus:
- path: http-client-got
  name: http-client-got
pages:
- path: http-client-got
  blocks:
  - type: http
    got:
      url: https://nghttp2.org/httpbin/anything
      method: GET
      http2: true
    columns:
      headers:
        format: table

API 블록 키(key) 개념

type (String)

  • http 로 지정하면 http block으로 실행합니다.

axios (Object)

method

  • GET, POST, PUT 등을 지원합니다.
  • GET은 결과물을 테이블로 표시하고, POST/PUT/DELETE/PATCH은 실행결과 값을 표시합니다.

methodType

  • API method와 무관하게 표시형태를 지정합니다. (조회 API 이지만 POST로 요청해야하는 경우)

url

  • 셀렉트 클라우드에서 접근 불가능한 internal ip는 호출할수 없습니다.

예제

조회 예제 HTTP GET

yaml
- type: http
  axios:
    method: GET
    url: https://httpbin.org/anything?query=1

조회 예제 HTTP POST (조회로 표시)

yaml
- type: http
  axios:
    method: POST
    methodType: GET
    url: https://httpbin.org/anything?query=1

조회 예제 HTTP GET (path 지정)

yaml
- type: http
  axios:
    method: GET
    url: https://gist.githubusercontent.com/eces/c267436ddeec8917b47ee666b0d5e955/raw/892877e7035c4f61e946848a3f6da7e9983cab15/test.json
  rowsPath: rows

표시할 결과물이 특정 키에 있는 경우 값을 지정합니다.

yaml
{
  "message": "ok",
  "rows": [{
    "id": 1000,
    "name": "John"
  }, {
    "id": 1001,
    "name": "Kelly"
  }]
}

해당 JSON 응답을 아래와 같이 표시합니다.

  1. 키를 지정하지 않은 경우 - message, rows가 컬럼으로 표시

  1. 키를 지정한 경우 - rows 아래의 내용이 컬럼으로 표시