Я создал метод, который отправляет запрос на публикацию в мое весеннее веб-приложение для создания нового пользователя. Отправляемый объект имеет 3 поля, а именно имя пользователя, адрес электронной почты и пароль.
Я уже проверил, что значения присутствуют в момент отправки объекта на сервер. Ниже мой код:
Метод в моем UserService:
createUser(newUser: UserCreateDTO): Observable<Response> {
return this.http.post<Response>(this.authUrl + "/user/create", newUser);
}
Я пытался изменить Response
на any
или UserCreateDTO
, но результат всегда один и тот же. Объект прибывает, но все поля равны нулю.
Метод в моем пользовательском компоненте:
createUser():void{
this.loading = true;
this.userService.createUser(new UserCreateDTO(this.userForm.get('userName').value,
this.userForm.get('emailAddress').value,
this.userForm.get('password').value))
.subscribe((response: Response) => {
if(response.ok)
this.msgs.push({severity:'success', summary:'Success', detail: response.statusText});
else
this.msgs.push({severity:'error', summary:'Error', detail: response.statusText});
this.loading = false;
});
}
Отправляемый объект:
export class UserCreateDTO {
userName: string;
emailAddress: string;
password: string;
constructor(userName?: string, emailAddress?: string, password?: string){
this.userName = userName;
this.emailAddress = emailAddress;
this.password = password;
}
}
Это конечная точка, которая получает объект на стороне сервера:
@PostMapping("/create")
private ResponseEntity<String> createNewUser(UserCreateDTO newUser) {
Status status = userService.createUser(newUser);
return ResponseEntity.status(status.isSuccess() ?
HttpStatus.CREATED : HttpStatus.BAD_REQUEST).body(status.getInfo());
}
Кто-нибудь может дать мне несколько советов? Проблема в моем угловом коде или в коде пружины? Спасибо.
EDIT:
Ниже полезная нагрузка запроса:
{userName: "1", emailAddress: "1", password: "1"}
emailAddress
:
"1"
password
:
"1"
userName
:
"1"
Так что да, я думаю, что это отправляется. Но я получаю ответ 500 обратно из-за исключения nullpointer, которое вызывается пустыми полями.