3

以下のような残りのWebサービスがあります。

@GET
@Path("/getPersonDetails/{personId}/{validDate}")
@Produces("application/xml")
  public PersonDetail getPersonDetails(@PathParam("personId") final String personId,@PathParam("validDate") String validDate) {

    PersonDetail p = new PersonDetail;

    //all the processing to set data into object p

    return p;
}

適切なパラメーターを使用してブラウザーから呼び出されると、このサービスは期待どおりにオブジェクトを xml として返します。

しかし、それは内部でどのように機能しますか?

xml のタグはどこから設定されますか?

からですか

1) サービス メソッド内のローカル変数の名前

2) クラス内のクラス プロパティの名前

3) クラス自体の名前

オブジェクトを返すメソッドとブラウザに XML として表示される間に何が起こるでしょうか?

読んでくれてありがとう!

4

1 に答える 1

4

XML構造は、XMLバインディング用のJavaアーキテクチャによって生成されます。クラスフィールドに基づいてXMLタグを作成します。もちろん、このプロセスはカスタマイズできます。これを実現する方法の例については、 JAXBのLarsVogelsチュートリアルを参照してください。

メソッドが戻った後getPersonDetails()、JAX-RSランタイムはJAXBを呼び出し、Marshallerメソッドの戻り値をXML構造に変換します。これは、Webブラウザーに書き戻されます。

于 2012-08-02T07:55:32.343 に答える