我有来自angular 5组件的以下代码:
export class TripsComponent implements OnInit {
...
...
addTrip() {
let newTrip = new Trip(this.new_trip_name,
this.new_trip_description, this.company);
this.tripService.addTrip(newTrip).toPromise();
}
//The company object is initialize inside ngOnInit()
行程服务如下所示:
addTrip(tripTemp: Trip): Observable<any> {
let tripObj = {
trip: tripTemp
};
console.log('Adding trip ' + JSON.stringify(tripObj));
return this.http.post(`${this.baseUrl}/Trips/Trip`, JSON.stringify(tripObj), httpOptions);
}
Java rest api 看起来像这样:
@POST
@Path("Trip")
@Produces("application/json")
@Consumes("application/json")
public Response addTrip(Trip trip) {
tripDao.addTrip(trip);
return Response.ok().entity("Trip added successfully").build();
}
行程中的公司对象被注释为 XmlTransit(不确定这是否会导致问题(:
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "company_id", nullable = false)
@XmlTransient
public Company getCompany() {
return this.company;
}
问题是公司对象以 NULL 的形式出现,并且它是必需的 字段以保存行程对象。知道如何允许自动转换 对于这个内在对象 ? 提前谢谢。
我不得不删除@XmlTransient。