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 ステータス

コード意味利用例
200OKGET 成功
201CreatedPOST 成功
400Bad Request入力不正
404Not FoundID 該当なし

React 側で扱いやすくするため、エラー時 JSON 形式をプロジェクト内で統一しておくと運用が安定します。