미들웨어 2

<노드> joi 라이브러리(validator) 에러: Cannot read property 'presence' of undefined

👾 joi 게시글 업로드시 제목, 작성자, 게시글 등의 타입 확인, 글자수 제한 같은 확인이 필요합니다. joi 라이브러리를 사용하면 이를 쉽게 구현할 수 있습니다. 1. 스키마를 정의합니다. (=검증에 필요한 내용 작성) 2. 옵션을 설정합니다. (=검증 방법에 대한 설정, 에러가 발생해도 나머지 데이터에 대한 검증을 계속할 것인지 등) 3. 에러 또는 결과를 받아와서 결과를 처리합니다. 위 코드와 같이 미들웨어로 작성한 경우 아래처럼 활용할 수 있습니다. Cannot read property 'presence' of undefined `"title" failed custom validation because Cannot read property 'presence' of undefined` 에러가 발생..

<TIL> 220408 미들웨어, req.body, req.params

🌱 익스프레스: 미들웨어 미들웨어의 적용 범위에 따라 애플리케이션 레벨 미들웨어, 라우터 레벨 미들웨어로 구분할 수 있습니다. 익스프레스에서는 라우팅 역할을 하는 라우터도 미들웨어로 구현되어 있습니다. req.body 해석 app.use(express.urlencoded({ extended: false })); app.use(express.json()); req.body의 내용을 익스프레스 서버가 해석하기 위한 과정이 필요합니다. form 태그의 내용을 해석하려면 urlencoded()를 사용하고, 그 외에는 json()을 사용합니다. req.params.id 자료형 req.params의 파라미터(예시의 id)는 문자열로 받아오므로 숫자가 필요한 경우 형변환이 요구됩니다.

클래스/└ TIL 2022.04.08