0

とコントローラで更新エンティティIは、次のエンティティがあります春MVC - PUT

@Entity 
public class Booking { 
    @Id 
    @GeneratedValue 
    private int id; 
    @OneToOne 
    private Price pricePerDay; 
    private Date startDate; 
    private Date endDate; 
    @OneToOne 
    private Room room; 
    @OneToOne 
    private Customer customer; 



@Entity 
public class Customer { 
    @Id 
    @GeneratedValue 
    private int id; 
    private String firstName; 
    private String lastName; 
    private String email; 
    private String phoneNumber; 
    @OneToOne 
    private CustomerAddress customerAddress; 
    private PaymentMethod paymentMethod; 

@Entity 
public class Room { 
    @Id 
    @GeneratedValue 
    private int roomNumber; 
    private RoomType roomType; 
    private BedType bedType; 
    private int bedNumber = 1; 
    private boolean oceanView = false; 
    private boolean airConditioning = false; 
    private boolean balcony = false; 
    @OneToOne 
    private Price pricePerNight; 

は、私は与えられたIDに基づいて、予約を更新update(Booking booking)でのリポジトリやサービスを持っている(のは、そのコードがOKであると仮定します)。追加情報はneedeある

@RequestMapping(value = "/bookings/update/{id}", method = RequestMethod.PUT) 

場合:

とidで予約を呼び出すことによって、私は予約でルームを更新するためのコントローラを構築する助けてください私はそれらを提供するでしょう。 ありがとうございます。

答えて

1

以下のコードは、コントローラのサンプルメソッドです。

@RequestMapping(value = "/booking/{id}", method = RequestMethod.PUT) 
public String list(@PathVariable String id){ 
    Booking booking= bookingRepository.findOne(id); 

    //code 

     bookingService.update(booking); 
} 

RequestMethod.PUTので、我々はパスでupdateを与える必要はありません、我々は、既存の予約を更新している示しています。

+0

ありがとうございました。私はこれを試して、エラーが表示されます:型 'java.lang.String'の値を必要な型 'java.lang.Integer'に変換できませんでした。ネストされた例外はjava.lang.NumberFormatExceptionです:入力文字列: "{id}" – Flup

+0

どの時点でエラーが発生しますか? –

+0

PUTで/ booking/{id}を呼び出すと、予約の詳細がわかります。問題はありません。コードを見る必要がある場合は教えてください。 – Flup