1

javaの残りのフレームワークに、抽象クラスでのみ表示される情報の代わりに、クラスの実際の実装を返すように強制することができるかどうか疑問に思っていました。

だから私は次のような方法を持っています

@GET
@Path("/}")
public Model getModel() {
    return (Car) system.getCar();
}

したがって、モデルに含まれているものだけでなく、返されるものへのこのパスに誰かがヒットするたびに、CAR に関する情報が返されることを望みます。いくつかの注釈でこの動作を強制することは可能ですか?

PS 上記の例はデモンストレーション用です。実際の理由は、抽象クラスのパラメーターを持つクラスがあり、具体的な実装に関する xml の情報を確認して、それがどのタイプであるかを知りたいからです。

助けてくれてありがとう。

乾杯

編集

実を言うと、実装が何であるかわかりません。しかし、私が使用しているものについてのこの記事が役立つかもしれませんhttp://docs.codehaus.org/display/TYNAMO/tapestry-resteasy+guide

4

3 に答える 3

0

REST実装は、クラスの実際の具体的なインスタンス(抽象クラ​​スのインスタンスを持つことはできないため、抽象クラスではありません)を、要求されたコンテンツタイプ(JSONやXMLなど)にシリアル化します。シリアル化されるのは、マッピングに基づくドメインオブジェクトのフィールドです。ドメインオブジェクトのどのフィールドをシリアル化するかを制御することも、応答で送信するフィールドのみを使用してカスタムPOJOを作成することもできます。

于 2012-10-07T14:03:43.043 に答える
0

私のJSON(JACKSONを使用)では機能していません。実際には機能しないはずです。API が を提供する場合、フィールドModelを返すべきではありません。API のエグゼキュータは、返されたフィールドCarを解析できない可能性があります。 これは一種のアップキャストであり、一般的に悪いデザインを示しています。私見。 私は質問が好きでしたが:)CarModel

于 2012-10-12T20:33:02.000 に答える
0

これを REST プロジェクトでテストしましたが、追加の作業なしで動作します。RESTEasy フレームワークを使用してREST Web サービスを実装しています。XMLとJSONデータ型についてこれをチェックしました。JSON シリアル化には、jacksonライブラリを使用しています。

于 2012-10-07T14:02:12.567 に答える