Slide 20
Slide 20 text
RestClientで実装してみる(5/5)
20
// 本を追加する
@Override
public Book add(String title, String author, LocalDate published) throws … {
AddRequest request = new AddRequest(title, author, published);
BookResponse bookResponse = client
.post()
.uri("/books")
.body(request)
.retrieve()
.body(BookResponse.class);
return bookResponse.toModel();
}
// 本を追加する
public Book add(String title, String author, LocalDate published) throws … {
AddRequest request = new AddRequest(title, author, published);
BookResponse bookResponse = restTemplate.postForObject(
"/books",
request,
BookResponse.class);
return bookResponse.toModel();
}
他のHTTPメソッド呼び出しにな
てもfluentな呼び出しスタイル
に変化なし。HTTPメソッド指定
の個所を変えるだけ
// 本を更新する
BookResponse bookResponse = client
.put()
.uri("/books")
.body(request)
.retrieve()
.body(BookResponse.class);
return bookResponse.toModel();
// 本を削除する
client
.delete()
.uri("/books/{id}", id)
.retrieve()
.toBodilessEntity();
xxxForObject, xxxForEntityの
xxxは使用するHTTPメソッドに
よって使い分ける
RestTemplate
RestClient