首页 文章

在角4中的订阅方法之后,angular 4 spring boot数据为null

提问于
浏览
0

我使用角4和 spring 靴 . 当我在我的组件中订阅时,数据变为null alwyas . 这是一个例子:第一次打印是正确的,但一旦我打印(console.log)data == null

服务方式:

saveEtage() {
    this.etage.nom = this.etageNomadd;
    console.log("etageNomadd = "+ this.etageNomadd);
    this.idmaisonadd = parseInt(this.modifiedtext);
    console.log(" id maison = "+ this.etage.maison+" Nom Etage = "+ this.etage.nom);

    this.http.post("http://localhost:8080/saveEtage",this.etage)
      .map(resp=>resp.json())
      .subscribe(data => {
        console.log(data);
      }, err => {
        console.log(err);
      });
  }

在restControlleur我有这个方法

@RequestMapping(value = "/saveEtage", method = RequestMethod.POST)
public Etage saveEtage(@RequestBody Etage p) {
    System.out.println("  etage " + p.getIdEtage());
    System.out.println("  etage  name " + p.getNomEtage());
    etageRepository.save(p);
    return p;
}

有人可以帮我解决这个问题吗?

1 回答

  • 0

    你好,我解决了这个问题

    1- i创建具有相同属性的对象maison

    export class Maison{
      idMaison : number;
      nomMaison : string;
    
      constructor( ) {
        this.idMaison= null;
        this.nomMaison = null;
      }
    }
    

    2-我将我的前端模型中的关系从数字更改为Maison

    import {Maison} from "./model.maison";
        export class Etage{
          idEtage : number;
          maison : Maison;
          nomEtage : string;
    
          constructor() {
            this.idEtage = null;
            this.maison = null;
            this.nomEtage = null;
          }
        }
    

    3-这是我在组件中的保存方法

    saveEtage() {
        this.etage.nomEtage = this.etageNomadd;
        let mai = new Maison();
        mai.idMaison = this.maisonSelected;
        this.etage.maison = mai;
        this.http.post("http://localhost:8080/saveEtage", this.etage)
          .map(resp=>resp.json())
          .subscribe(data => {
            console.log(data);
          }, err => {
            console.log(err);
          });
      }
    

    4-我的html选择

    <div>
        <select [(ngModel)]="maisonSelected" class="form-control " (ngModelChange)="onMaisonSelected($event)">
          <option *ngFor="let k of pageReservations1?.content" [value]="k.idMaison">{{k.nomMaison}}</option>
        </select>
    
      </div>
    

    我希望这对你有帮助

相关问题