今回は、Spring bootでREST APIを使う方法について紹介します。
使い方はとても簡単で、以下のアノテーションを記述するだけで実装できます。
@RestController
@RequestMapping
@GetMapping
@PostMapping
コードはこのようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
package com.example.demo.controller; import java.time.LocalDate; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.example.demo.domain.Datetime; import com.example.demo.service.DatetimeService; /*RestController*/ @RestController @RequestMapping("/api") public class DatetimeRestController { @Autowired private DatetimeService datetimeService; /*一覧情報を取得する*/ @GetMapping public List<Datetime> getDatetimeAll(){ return datetimeService.findAll(); } /*IDで個別のデータを取得する*/ @GetMapping(value = "{dateId}") public Datetime getDatetime(@PathVariable("dateId") Long dateId) { return datetimeService.findOne(dateId); } /*POSTで入植された文字列をLocalDateにして返す*/ @PostMapping(value = "{baseDate}") public LocalDate calulationDate(@PathVariable("baseDate") String baseDate){ LocalDate date = datetimeService.convertToLocalDate(baseDate, "yyyyMMdd"); return date; } } |
これで「http://localhost:8080/api/」にアクセスすると、該当するデータがJSON形式で返ってきます。
同じように「http://localhost:8080/api/1」にアクセスすると、該当する個別のデータが取得できます。
POSTは、ブラウザで確認することはできません。
curlコマンドを使って確認します。
(ターミナル・コマンドプロントを使用してください。)
1 |
curl -X POST http://localhost:8080 -d "dateStandart=20110101" |
まとめ
いかがでしたか?
Spring bootでは簡単にREST APIを簡単に実装できます。
ぜひ、1度試してください。