고양이와 코딩
[리액트를 다루는 기술] data and hash arguments required 에러 해결 본문
728x90
로그인 api를 구현하던 중, 코드 자체에서는 에러가 나지 않았는데 postman으로 body값에 아이디와 비밀번호를 입력하니
500에러가 발생하며 Error: data and hahs arguments required 라는 에러가 발생했다 !!
export const login = async ctx => {
const { username, password } = ctx.request.body;
// username, password가 없으면 에러 처리
if (!username || !password){
ctx.status = 401; // Unauthorized
return;
};
try {
const user = await User.findByUsername(username);
// 계정이 존재하지 않으면 에러 처리
if(!user){
ctx.status = 401;
return;
}
const valid = await user.checkPassword(password);
// 잘못된 비밀번호
if (!valid) {
ctx.status = 401;
return;
}
console.log(valid);
ctx.body = user.serialize();
} catch (e) {
ctx.throw(500, e);
}
}
코드는 위와 같다.
먼저 console.log(user)로 콘솔을 확인 해 보자
이와 같이 user정보가 불러와졌다!
그렇다면 계정이 확인된건데,, 왜 그 다음으로 넘어가지 못하는걸까 🥲
파일을 20번정도 왔다갔다 하고 난 후 이유를 찾았다.
UserSchema.methods.checkPassword = async function(password) {
const result = await bcrypt.compare(password, this.hashedPassword);
return result;
};
위의 console로 찍어 본 사용자 객체에서는 hashedpassword로 정의되어 있는 것을 확인할 수 있다.
그러나 스키마 정의에서는 hashedPassword로 정의되어 있기 때문에 ,,, 👾
this.hashedPassword에 undefined 값이 들어가서 data and hash arguments required 오류가 발생한 것이다!
흑흑 이름 다른것도 알려주면 안될까
'javascript' 카테고리의 다른 글
[프로그래머스] - 2월26일 ~ (0) | 2024.02.26 |
---|---|
[프로그래머스] 2월3일 ~ 2월15일 (0) | 2024.02.03 |
[프로그래머스] 1월16일 ~ 1월21일 (0) | 2024.01.16 |
[프로그래머스] 1월8일 ~ 1월14일 (1) | 2024.01.08 |
[프로그래머스] 1월2일 ~ (0) | 2024.01.03 |