serviceNameService.ts - 모듈화된 api클래스 입니다.
아래서 선언한 타입들을 가져올 때 아래처럼 가져옵니다.
import * as types from './serviceNameService.types.ts'
serviceNameService.types.ts - api클래스에서 사용 할 타입을 정의한 폴더입니다. 기본예제는 아래와 같습니다.
import apiClient from '../../apiClient';
import type * as types from './testService.types';
const Paths = { testList: '/test', testDetail: '/test/detail' };
export default class TestService {
private apiClient: typeof apiClient;
constructor() {
this.apiClient = apiClient;
}
readTestList = () => this.apiClient.get<types.ReadTestListResponse>(Paths.testList);
readTestDetail = (params: types.ReadTestDetailParams) =>
this.apiClient.get<types.ReadTestDetailResponse>(`${Paths.testDetail}/${params.testId}`);
}
메소드 작명 규칙은 아래와 같습니다. (CRUD, 시멘틱하게 합니다.)
api 요청 Paths 는 객체로 관리합니다. 한번 수정했을 때 일괄수정 되도록 편리하게 관리합니다.