[typescript] 타입스크립트에서 REST API 호출 시 인자 검증 방법

REST API를 호출할 때, 타입스크립트로 작성된 코드에서 인자를 검증하는 방법은 매우 중요합니다. 올바른 인자 검증은 프로그램의 안정성과 신뢰성을 높일 수 있습니다. 이번 포스트에서는 타입스크립트에서 REST API 호출 시 인자를 검증하는 방법을 알아보겠습니다.

1. Joi를 사용한 스키마 기반 검증

Joi는 타입스크립트에서 REST API 호출 시 인자 검증을 위한 강력한 도구입니다. 먼저 Joi를 사용하여 스키마를 정의하고, 이를 통해 입력된 데이터의 유효성을 검사할 수 있습니다.

아래는 Joi를 사용한 스키마 기반 검증의 예시입니다.

import * as Joi from 'joi';

const schema = Joi.object({
  username: Joi.string().alphanum().min(3).max(30).required(),
  password: Joi.string().pattern(new RegExp('^[a-zA-Z0-9]{3,30}$')).required(),
  email: Joi.string().email(),
});

위의 예시에서 schema는 유저 정보에 대한 스키마를 정의하고 있습니다. Joi.object 메서드를 사용하여 객체 스키마를 정의하고, 각 필드에 대한 검증 조건을 설정할 수 있습니다. 그리고 이후에 validate 메서드를 사용하여 유효성을 검사할 수 있습니다.

2. Yup을 사용한 객체 스키마 검증

Yup은 다른 인기있는 인자 검증 도구로, Joi에 비해 조금 더 간결한 문법을 제공합니다. 아래는 Yup을 사용한 객체 스키마 검증의 예시입니다.

import * as Yup from 'yup';

const schema = Yup.object().shape({
  username: Yup.string().required('Username is required'),
  password: Yup.string().required('Password is required'),
  email: Yup.string().email('Invalid email'),
});

여기서 shape 메서드를 사용하여 객체 스키마를 정의하고, 각 필드에 대한 검증 조건을 설정할 수 있습니다. Yup을 사용하여 스키마를 정의한 후에는 validate 메서드를 통해 유효성을 검사할 수 있습니다.

마무리

이번 포스트에서는 타입스크립트에서 REST API 호출 시 인자를 검증하기 위해 Joi와 Yup을 사용하는 방법에 대해 살펴보았습니다. 올바른 인자 검증을 통해 안전하고 신뢰성 있는 코드를 작성할 수 있으며, 이는 애플리케이션의 안정성을 높일 수 있는 중요한 요소입니다.

참고 자료 - Joi 공식 문서 참고 자료 - Yup 공식 문서