[typescript] Axios와 함께 사용되는 타입 정의 및 인터페이스
Axios는 JavaScript 및 TypeScript에서 가장 인기 있는 HTTP 클라이언트 라이브러리 중 하나입니다. 이 라이브러리는 HTTP 요청을 쉽게 만들고 서버에서 데이터를 가져올 수 있도록 도와줍니다. TypeScript를 사용할 때 Axios와 함께 사용되는 타입 정의 및 인터페이스에 대해 알아보겠습니다.
Axios 타입 정의
Axios와 TypeScript를 함께 사용할 때, 다음과 같이 Axios의 기본적인 타입 정의를 사용할 수 있습니다.
import axios, { AxiosResponse, AxiosError } from 'axios';
axios.get('/api/user')
.then((response: AxiosResponse) => {
// 처리할 작업
})
.catch((error: AxiosError) => {
// 에러 처리
});
위 코드에서 AxiosResponse
는 HTTP 응답에 대한 타입을 정의하고, AxiosError
는 Axios에서 발생하는 에러에 대한 타입을 정의합니다.
사용자 정의 인터페이스
더 나아가, 사용자는 서버에서 받은 데이터에 대한 인터페이스를 정의하여 타입 안정성을 높일 수 있습니다.
interface User {
id: number;
name: string;
email: string;
}
axios.get('/api/user')
.then((response: AxiosResponse<User>) => {
const user = response.data;
// user 객체의 프로퍼티에 접근
})
.catch((error: AxiosError) => {
// 에러 처리
});
위 코드에서 User
인터페이스는 서버에서 받아온 사용자 정보에 대한 타입을 정의합니다.
이러한 방식으로 Axios와 TypeScript를 함께 사용할 때, 타입 안정성을 높이고 코드의 가독성을 개선할 수 있습니다.
결론
Axios와 함께 사용되는 타입 정의와 인터페이스를 이용하여 TypeScript 프로젝트에서 HTTP 요청을 보다 안전하고 편리하게 다룰 수 있습니다. 타입을 명시함으로써 코드의 안정성을 높이고, 인터페이스를 활용하여 데이터 구조를 명확하게 정의할 수 있습니다.