Как я могу сделать функцию бронирования в SpringBoot / Angular4? - PullRequest
0 голосов
/ 22 мая 2018

Я новичок в SpringBoot / Angular4, и я застрял на функции уже несколько дней, и я надеюсь, что вы, люди, можете мне помочь.

Так вот в чем дело: у меня есть сущность Reservation (бронирование на английском языке) и организация Voyage (путешествие на английском языке) , где класс Reservation имеет внешний ключ (Voyage_id).Поэтому я хочу заказать поездку (сопоставление OneToMany) , но я не совсем понимаю, как это сделать.

Вот мой контроллер для Reservation в SpringBoot

@RequestMapping(value = "/postReservation/{id}", method = RequestMethod.POST)
    public ResponseEntity<Reservation> createReservation(@PathVariable("id") int id, @RequestBody Reservation newReservation) {
        Reservation reservData = reservationRepository.findOneVoyageBy(id);
        reservData.setVoyage_id(newReservation.getVoyage_id());

        Reservation reservDone = reservationRepository.save(reservData);
        return new ResponseEntity<>(reservDone, HttpStatus.OK);

        //return new ResponseEntity<Reservation>(reservationservices.save(newReservation), HttpStatus.CREATED);
    }

Мой класс обслуживания в Angular 4:

@Injectable()
export class ReservationService {
  private headers = new Headers({'Content-Type': 'application/json'});
  private options = new RequestOptions({headers: this.headers});

  constructor(private http: Http) { }

  createReservation(id: number, value: any):Observable<Object> {
    return this.http.post(AppComponent.API_URL + '/reservation/postReservation' + id, value)
      .map(resp => resp.json());
  }

Функция My Component.ts:

save(reserv){
    this.reservationService.createReservation(reserv.id,
    {
      voyage: reserv.voyage
    }).subscribe(data => {
      console.log(data);
      reserv = data as Reservation;
    }, (error) => {
      console.log(error);
    });
  }

Чтобы четко объяснить, что я хочу, вы увидите в выводе нижесписок доступных Вояжей (Travels) .Когда я нажимаю на кнопку с красным кружком, я хочу сохранить в Reservation классе id путешествия, на который я нажал.

enter image description here

Так вот моя проблема.Надеюсь, я дал понять, я надеюсь, что вы, ребята, можете мне помочь.

РЕДАКТИРОВАТЬ: Со всем выше, когда я нажимаю на кнопку, это говорит мне что-то вроде

Cannot read property 'id' of undefined

Что я понялэто то, что он не может получить id Путешествия, на который я нажал.

Заранее спасибо

...