문자열 " 오류입니다.이 링크는 이메일에서 왔습니까? 아니면 이미 토큰을 사용 했습니까? "요청이 정확하지 않은 경우 응답으로 (정확히 Postman에서받는 응답) 또는 " 성공적으로 변경했습니다. 암호. "요청이 괜찮은 경우, 구독 매개 변수에서 직접 가져올 때 내 웹 사이트에서 대신 Object 객체를 얻지 만 JSON.stringify 함수를 사용하면 그와 같은 결과를 얻습니다 .
내 코드는 다음과 같습니다.
submitFunc() {
this.data = '';
if (this.uploadForm.invalid) {
console.log('Password validation invalid')
return;
}
console.log('Password validation correct')
const response = this.restapiService.postResetPassword(this.tokenFromUrl, this.uploadForm.controls['password'].value);
response.subscribe(data => { console.log('a '+JSON.stringify(data)); },
error => { console.log('b '+JSON.stringify(error)); });
}
과
public postResetPassword(token: string, password: string): Observable<any> {
const body = {
'token': token,
'password': password
};
const headers = new HttpHeaders().set('Content-Type', 'application/json; charset=utf-8');
return this.http.post<any>('https://jakuwegiel-backend.herokuapp.com/reset_password', body,{headers: headers});
}
백엔드 컨트롤러의 내 부분
@PostMapping(value = "/reset_password", consumes="application/json")
public String processResetPassword(@RequestBody TokenAndPassword tokenAndPassword) {
try {
User user = userService.getByResetPasswordToken(tokenAndPassword.getToken());
if (user == null) {
return "message";
} else {
userService.updatePassword(user, tokenAndPassword.getPassword());
System.out.println("You have successfully changed your password.");
}
}
catch (Exception ex) {
System.out.println("aaaaaaaaaaaaa " +ex.getMessage());
return "Error. Does this link come from email? Or maybe you have used your token already?";
}
return "You have successfully changed your password.";
}
더 필요한 것이 있습니까?