Как правильно отобразить JSON из углового POST-вызова на Java-сущность, используя resteasy? - PullRequest
0 голосов
/ 04 октября 2018

У меня есть следующий код из углового компонента 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);
  }

API Java rest выглядит следующим образом:

@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, и это требуетполе для сохранения объекта Trip.Есть идеи, как разрешить автоматическое преобразование для этого внутреннего объекта?Заранее спасибо.

1 Ответ

0 голосов
/ 07 октября 2018

Мне пришлось удалить @ XmlTransient.

...