# Joi
[TIL]2023.01.09. 47일차
1. 어떤 문제가 있었는지 cors()를 전체를 열어두면 안됐다. 백엔드 서버에서 생성된 쿠키를 프론트에서는 못찾아왔다. 2. 어떤 시도를 했는지(자세히) 구글링 3. 어떻게 해결했는지 백엔드 ``` javascript let corsOptions = { origi
[221221] Joi 분기...
에러 처리를 하긴 했는데 아무리 생각해도 찝찝하다...바디에 담긴 데이터가 아니라 url을 통해 들어온 쿼리스트링이 잘못되었는데 같은 에러 메시지를 보낸다니...똑같이 joi를 쓰더라도 에러를 나눌 수 있는 방법이 없을까ㅠ서치의 부재였는지 아직 답은 못찾았다찾아두면 나

joi messages 기능 활용
joi의 에러메시지를 커스텀 할 수 있다는 것을 알게 되었다. messages() 메소드 안에 객체로 키는 에러 이름으로 밸류는 오버라이드할 에러 메세지를 넣어주면 된다.이 때 에러 이름의 종류는 https://github.com/hapijs/joi/blob/

요청 응답을 어떻게 보내야할까1 -MySQL
CRUD를 구현하면서 응답을 어떻게 보낼지 고민이 많이 된다.일단 회원가입의 경우에 다음과 같이 응답을 구현하였다.joi 패키지를 썼다.password와 confirm이 일치하지 않는 경우 :"Duplicate entry 'id7' for key 'user.nickna
20220730_TIL_Joi 사용법과 기타 코드 정리법
@ 글을 게시하는 함수이다. @ req.body는 {title, content}이다. @ Joi뒤에 .object()가 붙는 것은 req.body가 object이기 때문이다. @ title은 타입은 string이고 길이 최소값은 1이고 최대값은 50이고 require
TypeOrm, ConfigService, DBconnect
들어가기typeOrm은 DB와 연결 및 통신 하는 언어임,Nuber에서는 postgres사용할 것입니다.https://typeorm.io/https://typeorm.io/supported-platforms지원되는 PlatformnestJs에서 dat
Node.js node.js 로 express 서버 구축 시 필요한 모듈 리스트 및 사용법
express 설치법사용법 nodemon 설치법 사용법joi 설치법 사용법helmet 설치법사용법morgan설치법 사용법 실행 결과config설치법 사용법 실행 결과winston설치법 사용법 실행 결과POST API 등으로 신규 값을 추가할 시 전달된 값의 유효성을 사
Joi Validate
처음에는 위사진과 같이 라우터 내에 joi를 활용하여 validation을 진행하였다. 하지만 이를 middleware로 joi스키마와 함께 함수로 빼내어 사용한다면 아래 그림과 같이 사용할 수 있다. 이렇게 사용한다면 joi validation의 확장성과 재사용성
Joi validate 사용시에 값이 안들어오는 문제
const { error, value } = await Validatorsvalidator.validate(req.body);validate를 사용 시에 value 값으로 받아야 함validated변수로 받으니 데이터가 받아지지 않더라..다만 다른 값으로 받고 싶다면
validator
validation어떤 데이터의 값이 유효한지, 타당한지 확인하는 것이메일 양식이 일치하지 않는다 UX측면(사용자 경험)에서 사용자에게 편의를 주기 위함사용자가 잘못 입력하여 오타가 발생 했으니 다시 한 번 확인을 하라는 의미UI단에서 유효성 검사를 하는 것은 보안적인

🌖 The Art of React part2
데이터 스키마가 고정적이며 확장성이 없는 기존의 데이터베이스의 문제를 해결하고자 mongoDB가 나오게 됐다.문서 지향적 NoSQL데이터 베이스이며 Node.js 환경에서는 mongoDB 기반 ODM(Object Data Modeling) 라이브러리인 mongoose와
Joi : data validation library
In the new portal project, we implemented a validator to check whether the request data received from the client's request was in an acceptable format