Skip to content

Latest commit

ย 

History

History
81 lines (65 loc) ยท 2.25 KB

File metadata and controls

81 lines (65 loc) ยท 2.25 KB

AXBoot API Interface Guide

1. Install

AXBoot front ํ”„๋กœ์ ํŠธ์— Interface ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ธŒ๋ชจ๋“ˆ ์ถ”๊ฐ€

git submodule add https://github.com/axisj/axboot-api-interface.git src/services/@interface
  • ์„œ๋ธŒ๋ชจ๋“ˆ ์ œ๊ฑฐ
    git submodule deinit -f src/services/@interface
    rm -rf .git/modules/src/services/@interface
    git rm -f src/services/@interface

Repository ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ

import {
  CodeInterface,
  GetCodeGroupListRequest,
  GetCodeGroupListResponse,
  GetCodeListRequest,
  GetCodeListResponse,
} from "../../@interface";
import { apiWrapper } from "../../apiWrapper";

export class CodeRepository implements CodeInterface {
  async getCodeGroupList(params: GetCodeGroupListRequest): Promise<GetCodeGroupListResponse> {
    const { data } = await apiWrapper<GetCodeGroupListResponse>("get", "/api/code/group", params);
    return data;
  }

  async getCodeList(params: GetCodeListRequest): Promise<GetCodeListResponse> {
    const { data } = await apiWrapper<GetCodeListResponse>("get", "/api/code", params);
    return data;
  }
}

์„œ๋น„์Šค ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ (src/services/index.ts)

import { ExampleRepositoryMock } from "@core/services/example/ExampleRepositoryMock";
import { LoginRepository } from "./repository/core/LoginRepository";
import { MenuRepository } from "./repository/core/MenuRepository";
import { UserRepository } from "./repository/core/UserRepository";

export * from "@core/services/example/ExampleRepositoryInterface";
export * from "./@interface";

export const ExampleService = new ExampleRepositoryMock();

export const LoginService = new LoginRepository();
export const MenuService = new MenuRepository();
export const UserService = new UserRepository();

์„œ๋น„์Šค ํŒŒ์ผ ์‚ฌ์šฉํ•˜๊ธฐ

const getList = async () => {
  return await ExampleService.getList();
};

2. ํด๋” ๊ตฌ์กฐ

  > dto : ๋ฐ์ดํ„ฐ ์ „์†ก ๊ฐ์ฒด
  > interface : ์ธํ„ฐํŽ˜์ด์Šค
  > types : ๊ณตํ†  ํƒ€์ž…
  > mock : ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€์‘๋˜๋Š” ๋ชฉ์—… Repository

3. ํƒ€์ž…์—๋Ÿฌ ์ฒดํฌ

  • ํƒ€์ž…์—๋Ÿฌ๋ฅผ ์ฒดํฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
npm run type-check