API 테스트와 운영 콘솔을 한곳에서

API 테스트와 운영 콘솔을 하나로. 셀렉트어드민은 API 요청을 검증하면서도 운영 데이터와 로그인 컨텍스트를 살린 화면을 제공합니다. 테스트 화면이 곧 운영 도구가 됩니다.

API 테스트와 운영 콘솔을 한곳에서

운영에 바로 쓸 수 있는 API 테스트 콘솔이 필요할 때,
API를 만든 직후 호출·검증·시각화를 한곳에서 처리할 수 있다면 어떨까요?
셀렉트어드민은 프론트엔드 코드나 별도 배포 없이 이를 구현합니다.


개발자가 흔히 겪는 상황

  • 스테이징과 운영을 오가며 토큰과 헤더를 계속 바꾼다.
  • 테스트 화면과 운영 화면이 분리되어 팀이 같은 맥락으로 보기 어렵다.
  • 비개발 사용자는 실수 없이 제한된 화면에서만 테스트해야 안전하다.

요청·응답 테스트는 Postman 같은 API 클라이언트로 충분히 할 수 있습니다.
하지만 팀 단위로 운영 환경에 연결된 화면을 제공하고,
비개발 사용자가 별도 설치 없이 바로 쓰게 하려면 한계가 있습니다.

Postman은 협업 워크스페이스, 웹 공유, 시각화(Visualizer)를 지원하지만,
본질은 테스트 클라이언트이며 “운영 콘솔로 배포”하는 모델은 아닙니다.


셀렉트어드민이 해결하는 방식

  • 제약 화면 제공: 개발자(편집자)가 페이지·파라미터·권한을 미리 구성합니다.
    사용자는 정해진 입력만 가능하며, 화면 밖으로 벗어날 수 없습니다.
  • 즉시 공유: URL로 즉시 배포되어 팀과 운영이 같은 화면을 봅니다.
  • 운영 컨텍스트 자동 주입: 로그인 사용자나 액세스 토큰 등을 자동으로 주입해
    운영 환경 그대로 테스트할 수 있습니다.
  • 요금 체계: 개발자(편집자) 단위 과금이며, 내부 일반 사용자는 좌석 비용이 없습니다.
  • Postman 보완: 테스트는 Postman으로, 반복 사용·운영 공유는 셀렉트어드민으로 역할을 구분합니다.

기본 예시 — 붙여서 바로 실행 가능

blocks:
  - type: http
    method: GET
    fetchFn: |
      const r = await fetch('https://api.example.com/v1/users?limit=10')
      const data = await r.json()
      return data.rows || data

배열을 return하면 자동 렌더링됩니다.


파라미터 기반 조회 — 비개발자도 안전하게 테스트

blocks:
  - type: http
    method: GET
    fetchFn: |
      const q = (name || '').trim() || 'all'
      const r = await fetch(`https://api.example.com/v1/search?name=${encodeURIComponent(q)}`)
      return await r.json()
    params:
      - key: name
        placeholder: 검색어 입력

허용된 입력만 노출되어 실수 가능성을 줄입니다.


POST + 폼 + 기본 검증

blocks:
  - type: http
    method: POST
    fetchFn: |
      if (!text || !text.trim()) {
        return { error: 'text is required' }
      }
      const r = await fetch('https://api.example.com/v1/posts', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({ text })
      })
      return await r.json()
    params:
      - key: text
        label: 텍스트 입력
        format: textarea
    display: form

키발급 없이 세션 자동 주입 예시

blocks:
  - type: http
    method: POST
    fetchFn: |
      const r = await axios({
        url: `${API || 'https://api.example.com'}/v1/secure-endpoint`,
        method: 'POST',
        data: { token: SELECT_ACCESS_TOKEN }
      })
      return r.data

JWT 세션으로 로그인 컨텍스트를 활용합니다.


결과 테이블 + 상세 모달 — 테스트 화면이 곧 운영 화면

blocks:
  - type: http
    method: GET
    fetchFn: |
      return [
        { id: 1, name: 'Alpha', created_at: '2025-10-01' },
        { id: 2, name: 'Bravo', created_at: '2025-10-03' }
      ]
    columns:
      name:
        openModal: detail-:id
    modals:
      - path: detail-:id
        blocks:
          - type: http
            method: GET
            fetchFn: |
              return [{ id, detail: `detail-${id}` }]
            params:
              - key: id
                valueFromRow: id

최종 화면 이미지

파라미터 기반 조회
POST + 폼 + 기본 검증
결과 테이블 + 상세 모달

언제 무엇을 쓰면 좋을까요?

Postman으로 충분한 경우:

  • 개발자 개인 또는 소수의 API 실험
  • 일회성·단기 검증
  • 스크립트 기반 테스트
  • 문서화나 공유가 목적일 때

셀렉트어드민이 보강하는 경우:

  • 비개발자 포함 팀 전체가 동일한 화면을 반복 사용해야 할 때
  • 운영 데이터·권한·로그인 컨텍스트를 그대로 써야 할 때
  • 개발자(편집자)만 과금하고 내부 사용자는 무료로 써야 할 때
  • 테스트 화면을 즉시 운영 콘솔로 격상시켜야 할 때

Postman으로 테스트를 시작하고, 좌석 비용·실행 한도·운영 배포 부재 등 한계에 닿는 순간, 셀렉트 어드민으로 제약 화면 기반의 운영 콘솔을 구성해보세요. 테스트 화면이 곧 팀의 운영 도구가 됩니다.

더 자세한 활용법은 셀렉트 어드민 개발자 문서에서 확인할 수 있습니다.

Read more

[팀블로그] 개편이야기-2

어드민 화면 제작 경험에서 고려한점 셀렉트어드민을 통해 사용자는 관리자 화면을 제공함 * 관리자 화면의 관리자 화면(편집,설정)이 존재하는 상황 * 어드민 목록, 어드민 화면, 어드민 설정 사이의 흐름이 불편함 (고객 혼란, 주소 공유 어려움등 발생) * 해결하기 위해 레이아웃 일치 (선택 메뉴, 어드민 화면, 어드민 설정) 여러가지 디자인 요소가 섞여있어서 정리가

By LEE JINHYUK

[팀블로그] 개편이야기-1

개편이야기-1 [왜 Front로 다시 구상했는지?] 셀렉트 어드민은 한주도 멈추지 않고 약 200주 연속으로 점진적 개선을 이어옴 * 셀렉트 어드민 기존 서비스는 2021년 가을부터 운영중 * 2022년 유료화 이후 많은 개선 * 2023년 어드민 넘어서 대시보드, 파트너센터까지 확장 * 2024년 대기업, 중견기업 요구사항 충족하면서 고도화 셀렉트 어드민은 확장해왔지만 기본 사용법은 그대로 머물러있다고 생각 * 편집 환경의

By LEE JINHYUK