优雅的Angular2 / Spring-boot / Restful应用程序设计

时间:2017-06-12 16:05:40

标签: spring rest angular spring-boot

我实际上在使用以下技术的项目上工作: 角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控制器更干净吗?

0 个答案:

没有答案