我实际上在使用以下技术的项目上工作: 角2, 休息, 春季启动。
我想知道两种方案的这种应用程序的一些好的做法,因为这是我第一个同时使用这些应用程序的项目:
1。验证
实施例
return new ResponseEntity<String>("email", HttpStatus.BAD_REQUEST);
return new ResponseEntity<String>("username", HttpStatus.BAD_REQUEST);
return new ResponseEntity<UserDto>(userDto, HttpStatus.OK);
在角色部分,我正在解析答案:
addUser(user: User): Observable<any> {
let headers = new Headers(
{
'Content-Type': 'application/json'
, 'Authorization': 'Bearer ' + localStorage.getItem('token_string')
}
);
let options = new RequestOptions({ headers: headers });
return this.http.post(this.url, user, options) // ...using post request
.map((res: Response) => {
// ...and calling .json() on the response to return data
return { status: res.status, body: res.text() };
})
.catch((error: any) => { //...errors if any
return Observable.throw({ status: error.status, body: error.text() });
}
);
}
问题在于,当我想要区分不同的错误时,我认为这是一个不好的解决方案:
this.userService.addUser(user).subscribe(
response => {
....
},
error => {
if (error.status == 401) {
if (error.body === "username") {
this.usernameAlreadyUsed = true;
this.emailAlreadyUsed = false;
}
if (error.body === "email") {
this.emailAlreadyUsed = true;
this.usernameAlreadyUsed = false;
}
.....
2。 ResponseEntity
有更好的方法吗?一个清洁器,可以使Rest控制器更干净吗?