1

次の問題に直面しています。Web サービスとして使用するために、次のようなコントローラーでメソッドを宣言しました。

@RequestMapping(value = "/" + "prueba" , method = RequestMethod.GET)
public void prueba(ExampleBean pExample1, ExamlpleBean pExample2) {
    // Wonderful code here

}

クラス ExampleBean は、まさしく Bean です。

public class ExampleBean implements Serializable {

   private String id;
   private String whatever;

   // getters, setters, and more.
}

インターフェイスがそのようなものである場合:

@RequestMapping(value = "/" + "prueba" , method = RequestMethod.GET)
public void prueba(ExampleBean pExample1) {
    // Wonderful code here

}

その Web サービスを呼び出すたびに、次の方法で URL を呼び出します。

http://myWebProject/prueba?id=1&whatever=hola

しかし...同じクラスの両方のパラメーターに値を与える必要がある場合、どうすればよいですか? つまり、パラメーターを繰り返すことができないため、URL を記述するときに pExample1 の ID と pExample2 の ID を区別する方法がわかりません。

つまり、異なるクラスの 2 つのパラメーターも使用しますが、同じ名前の属性を使用します。たとえば、2 番目のパラメーターが、「id」パラメーターも持つクラス DifferentExampleBean からのものである場合。

どうもありがとう!

PS: StringHttpMessageConverter を使用しています。

4

1 に答える 1

1

あなたがすることは、興味のある特定のフィールドを保持する親クラスを作成し、この親クラスを拡張することであり、送信される型は 1 つだけになりExampleBeanます。ExampleBean1prueba(ParentClass instance1, ParentClass instance2)

instance1インスタンスはどこにExampleBeanあり、instance2インスタンスはExampleBean2

于 2012-04-26T08:27:54.580 に答える