REST API の基本
Spring Boot で最初に作るのは `@RestController` です。HTTP と Java メソッドを紐づけ、JSON を返す API を作ります。
Controller の役割
Controller は「HTTP を受け取って Service に渡し、結果をレスポンスに変換する層」です。 業務ロジックを直接書きすぎず、責務を薄く保つのが基本です。
GET API
@RestController
@RequestMapping("/api/books")
public class BookController {
@GetMapping
public List<BookDto> list() {
return List.of(new BookDto(1L, "Spring Boot Intro"));
}
}
POST API
@PostMapping
@ResponseStatus(HttpStatus.CREATED)
public BookDto create(@RequestBody CreateBookRequest request) {
return new BookDto(2L, request.title());
}
動作確認:
curl -X POST http://localhost:8080/api/books \
-H "Content-Type: application/json" \
-d '{"title":"API Design"}'
HTTP ステータス
| コード | 意味 | 利用例 |
|---|---|---|
| 200 | OK | GET 成功 |
| 201 | Created | POST 成功 |
| 400 | Bad Request | 入力不正 |
| 404 | Not Found | ID 該当なし |
React 側で扱いやすくするため、エラー時 JSON 形式をプロジェクト内で統一しておくと運用が安定します。