Webリクエストから最初のAPIまで
HTTPとJSONを観察し、直接実行できるSpring Boot APIにつなげます。
- 【必須】POST /todosは、正常な入力に対して201と生成されたid・title・completedを、無効な入力に対して400の共通エラーを返すよう、契約を定義して実装します。
- [必須] GET /todos/{id}は、存在するTodoには200を、存在しないidには404の共通エラーを返すようにし、3つの境界を実際のアプリケーションコンテキストの統合テストで固定します。
- 【必須】リクエストがコントローラーの引数となり、JSONレスポンスになるまでのDispatcherServlet、バリデーション、HttpMessageConverterの役割を、自分のコードとテストに結び付けて説明します。
- [任意拡張] メモリストレージをH2・JdbcTemplateストレージに置き換え、同じAPI契約テストが維持されるか確認します。
提出証拠 · 201·400·404契約を実装した実行可能なAPIコード · 実際のアプリケーションコンテキストで実行した成功・入力検証失敗・404統合テストの結果 · 自分のファイルとテストを引用したリクエストフローの説明 · 今週の根拠に基づく質問1〜5への回答 · レビューで指摘があれば反映したコミット・検証結果、なければ指摘なしの記録
함께 답할 근거형 질문 5개
- HTTPリクエストはどのような過程を経て、コントローラーメソッドの引数になるのでしょうか?
- Javaオブジェクトは誰がJSONレスポンスに変換し、その事実をどのように確認しましたか?
- 入力検証の失敗をコントローラコードで直接分岐しなかった理由は何ですか?
- 単体テストではなく、統合テストで必ず確認すべき境界は何でしたか?
- 現在のAPI契約で最初に破綻する可能性が最も高い部分と、その検証方法は何ですか?

