테스트 서버 구축이 번거로워서 모듈 서버 도구를 만들었습니다.

왜 그랬어


요즘 프런트가 재미있어요.제이스라, 리액트.js를 썼지만 서버를 만들기 전에 내부 코드로 모크를 싸서 썼습니다.
그러나 이렇게 되면 API 통신 주변이 모두 TODO여서 최종 코드 수정이 비교적 많을 것이다↓.
hoge.ts
import * as mock from "./data.json"

// データを全権取得
const getDataList = (): Data[] => {
   const list =  mock.list;
   // TODO: API通信を後から頑張る!!!!
   ...
}
그래서 JSON 서버 모쿠 서버를 만들었으면 좋겠는데, 내 악마가 어차피 해야 한다고 속삭여서 다음과 같은 조건에 맞게 모쿠 서버 도구를 만들었어!
  • JSON에 대응하는 단점의 응답만 설명
  • 설정 관리(.yml,.conf...etc)
  • 명령줄에 간단히 서버 구축
  • 이거 방금 만든 거예요.
    https://github.com/gari8/sub-server
    이것은 설정 파일과 JSON 파일 (응답용) 을 손쉽게 준비할 수 있는 명령행 도구입니다.
    디렉터리 등에서 설정 파일과 JSON을 종합하면 팀 공유를 통해 같은 환경을 재현할 수 있습니다!
    README에 엉망진창으로 쓴 것 같지만 비교적 간단합니다!다음 손 순서

    절차.


    1. 설치


    우선 설치를 하고 Go가 있으면 간단하게 설치할 수 있습니다.
    단말기
    $ go install github.com/gari8/sub-server@latest
    

    2. 디렉토리 만들기


    작업용 카탈로그를 만들어 보도록 하겠습니다.
    단말기
    $ mkdir fuga && cd fuga
    

    3. 데이터 반납 준비


    2에서 만든 디렉토리에서 사운드 애플리케이션을 준비할 JSON입니다.이번에는 두 가지를 준비해 보도록 하겠습니다.
  • GET http://localhost:8000/api/v1/hoge -> index.json
  • POST http://localhost:8000/api/v1/hoge -> post.json
  • index.json
    [
      {
        "id": 1,
        "title": "hoge"
      },
      {
        "id": 2,
        "title": "hogehoge"
      },
      {
        "id": 3,
        "title": "hogehogehoge"
      },
      {
        "id": 4,
        "title": "hogehogehogehoge"
      }
    ]
    
    post.json
    {
      "id": 5,
      "title": "hogehogehogehogehoge"
    }
    

    4. 파일의 생성, 설명 설정


    이런 느낌의 도구는 파일 설정이 좀 번거로울 수 있지만, 이번에는 sub-server init 명령으로 파일 config를 설정합니다.Toml을 생성할 수 있으니까 이것만 만지작거려!
    단말기
    $ sub-server init
    
    config.toml(방금 생성됨)
    [app]
    server_name = "server name"
    port = "8080"
    [routing]
    root_path = "."
    origin_root = "/app/v1"
    [[routing.origins]]
    id = 0
    uri = "/start"
    file_path = "index.json"
    method = "GET"
    [[routing.origins]]
    id = 1
    uri = "/start/1"
    file_path = "1/index.json"
    method = "GET"
    [[routing.origins]]
    id = 2
    uri = "/start"
    file_path = "post.json"
    method = "POST"
    
    ↑ 이렇게 생성되지만 필요 없는 부분도 많기 때문에 이번 설정에 맞춰 최소한 아래와 같다.
    config.toml
    [app]
    port = "8000"
    
    [routing]
    root_path = "."
    origin_root = "/api/v1/hoge"
    
    [[routing.origins]]
    file_path = "index.json"
    method = "GET"
    
    [[routing.origins]]
    file_path = "post.json"
    method = "POST"
    

    5. 서버 시작


    지금까지의 절차에 따라 구성됐다고 생각합니다.
    fuga
    ├── config.toml
    ├── index.json
    └── post.json
    
    드디어 서버를 시작할 때가 왔습니다!sub-server serve 명령해!아스키 아트와 URL을 아래와 같이 표시할 수 있었으면 좋겠어요!
    단말기
    $ sub-server serve
    
    
    ░██████╗██╗░░░██╗██████╗░  ░██████╗███████╗██████╗░██╗░░░██╗███████╗██████╗░
    ██╔════╝██║░░░██║██╔══██╗  ██╔════╝██╔════╝██╔══██╗██║░░░██║██╔════╝██╔══██╗
    ╚█████╗░██║░░░██║██████╦╝  ╚█████╗░█████╗░░██████╔╝╚██╗░██╔╝█████╗░░██████╔╝
    ░╚═══██╗██║░░░██║██╔══██╗  ░╚═══██╗██╔══╝░░██╔══██╗░╚████╔╝░██╔══╝░░██╔══██╗
    ██████╔╝╚██████╔╝██████╦╝  ██████╔╝███████╗██║░░██║░░╚██╔╝░░███████╗██║░░██║
    ╚═════╝░░╚═════╝░╚═════╝░  ╚═════╝░╚══════╝╚═╝░░╚═╝░░░╚═╝░░░╚══════╝╚═╝░░╚═╝
    
    GET >> http://localhost:8000/api/v1/hoge
    POST >> http://localhost:8000/api/v1/hoge
    
    표시된 엔드포인트에 실제로 액세스하면 Toml에 지정된 JSON의 값이 반환됩니다.
    이렇게 완성!
    Giithub에 올리면 마지막 지령만 있으면 서버를 시작할 수 있으니 편리하죠~ 꼭 사용하세요~
    그럼 다음 기사!

    좋은 웹페이지 즐겨찾기