movie/{id}-{title}
、 などのURL マッピングを持つコントローラーがあるとしますactor/{id}-{name}
。これらのマッピングは、アプリ内のいくつかのオブジェクト (主にエンティティ) を識別します。これは RESTful サービスであると言えます。
これらの URI の作成を担当するメソッドをどこに置くべきかについての解決策を探しています。複数のJSPファイルや他の場所(リダイレクトなど)でそれらを作成するのは冗長だと思います。
最初に考えたのはpublic URI getURI()
、コントローラーで使用されるクラスが実装するメソッドを持つインターフェイスを作成することでした。しかし、私の意見では、それはエンティティにあまりにも多くを巻き込みます - 私はエンティティが単にデータを表し、状態を変更するためのメソッドだけを含むことを好みます。
私の 2 番目のアイデアは、 や のようなオーバーロードされたメソッドを使用して を作成することでしたがURIService
、コンパイル時のオーバーロード メソッドの選択に問題があります。たとえば、JSP の EL では、解決策としてメソッドの名前が異なるため、うまく機能しません。URI getURI(Movie m)
URI getURI(Actor a)
車輪を再発明したくないので、その問題の解決策を知っているか、使用していますか?