questionMapperを通してDbQuestionを取得。memberRepositoryを通して質問者を取得。Questionに変換して返す。""")}DocpediaではデータベースとのやりとりにMyBatisを使いました。そちらを参照してください。加工、変換して返しています。これらも上位の層に合わせて変換する必要があります*5。それでもクラス名として命名しておかないと、機能追加を繰り返すうちに他の層に混ざっていく可能性があると思ったからです。触っているかが分かりづらくなります。指定してしまい、そのまま実装が進んでしまうこともありえます。あるのはおかしい」など、レビューでも気づきやすくなるはずです。OffsetDateTime)今回の例にはありませんが、Docpediaには質問の検索機能もあります。先頭に付与しています。ControllerServiceUseCaseからDBへの保存、取得までは実装できたので、次は反対側(Web)側から見ていきます。ControllerSeriviceでの処理の結果をシリアライズしてHTTPでクライアントに返すことです。ArchitectureでControllerと呼ぶものとは一致しません。定義されたメソッドを呼び、結果を返します。ApiQuestion}これらのコードは、OpenAPIの定義から自動で生成されるので、実際には手で書きません。OpenAPIでは、どういうメソッド(=endpoint)があるか、どういうモデル(=スキーマ)があるかを定義します。詳しくはこちらの記事を見てください。つけるようにしています。役割は、ControllerServiceで(実際にはOpenAPIで)定義したAPI機能の実装です。modelに変換、加工してUseCaseに渡すまでです。データの操作は、UseCaseの機能を呼び出し、Controllerへ返すデータへの変換はPresenterの機能を呼び出します。