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
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;
}
}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();
}; > dto : ๋ฐ์ดํฐ ์ ์ก ๊ฐ์ฒด
> interface : ์ธํฐํ์ด์ค
> types : ๊ณตํ ํ์
> mock : ์ธํฐํ์ด์ค์ ๋์๋๋ ๋ชฉ์
Repository
- ํ์ ์๋ฌ๋ฅผ ์ฒดํฌํ๊ธฐ ์ํด์๋ ์๋์ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
npm run type-check