ウェブのリクエストから最初の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契約において、最も早く壊れる可能性が高い部分とその検証方法は何ですか?


