강의

멘토링

커뮤니티

Inflearn Community Q&A

parkoon4819's profile image
parkoon4819

asked

mongoDB from basics to practice (feat. Node.js)

PUT /user/:userId

age 예외 처리를 별도로 하신 이유가 궁금합니다.

Resolved

Written on

·

293

2

이미 Schema 정의 할 때 age 를 number 로 했기 때문에, 디비에 저장할 때 number 값을 전달하지 않으면 에러가 발생해서 catch 에서 처리할 수 있을거 같은데요.

업데이트 전에 필드를 validation 하면 모든 필드에 대해서 일일히 다 해줘야 할 것 같은데, 그렇게 하는 이유가 있을까요?

그리고, catch 에러에서 number 값을 입력하지 않아서 발생한 오류임을 알 수 있는 방법(e.g., 에러 코드)이 있나요?

javascriptnode.jsawsmongodbrest-apidbms/rdbms데이터-엔지니어링

Answer 2

1

sihoon님의 프로필 이미지
sihoon
Instructor

통상적으로는 3번의 validation을 검증합니다.

  1. 클라이언트에서 요청을 보내기 전에 검증

  2. 데이터베이스에 요청을 보내기 전에 서버에서 검증

  3. 최종적으로 디비에서 검증.

이렇게 하는 이유는 간단합니다. 부하 및 보안 관리입니다. 클라에서 실수를 할 수도 있고 무엇보다 API 엔드포인트가 충분히 외부에 노출될 수 있기 때문에 서버에서 당연히 검증을 해줘야 합니다. 디비 검증은 최종 검증이라고 보시면 됩니다

 

0

parkoon4819님의 프로필 이미지
parkoon4819
Questioner

클라 검증 -> 서버 검증 -> 디비 검증!

답변 감사합니다.

parkoon4819's profile image
parkoon4819

asked

Ask a question