1

Jerseyを使用して要素のリストをパラメータとしてメソッドに渡す方法はありますか?

次の変数でSample注釈が付けられたクラスがあります: 、、および。@XmlRootElementidUsuarioxtimestamp

私のMedicaoResourceクラスでは、メソッド:

@GET
@Produces("text/xml")
public List<Medicao> getMedicoes() {
    return new ArrayList<Medicao>(getAllMedicoes());
}

次のようなものを返します。

<medicaoes>
    <medicao>
        <idUsuario>1</idUsuario>
        <timestamp>2012-04-16T12:25:00.454-03:00</timestamp>
        <x>0.71</x>
    </medicao>
    <medicao>
        <idUsuario>1</idUsuario>
        <timestamp>2012-04-16T12:25:00.454-03:00</timestamp>
        <x>1.71</x>
    </medicao>
</medicaoes>

今、私はこのようなことをしたいと思います:

@POST
@Consumes(MediaType.APPLICATION_XML)
@Produces("text/plain")
public String addMedicoes(ArrayList<Medicao> medicoes) {
    for (Medicao medicao : medicoes) {
        addMedicao(medicao);
    }
    return "success";
}

上記の方法が適切に機能するためには、XML をどのように記述する必要がありますか? メソッドが返すものと同じ XML を渡そうとしましたgetMedicoesが、うまくいきません。

4

1 に答える 1

1

メソッドではList<Medicao>なくtype を使用する必要があります。これはおそらく、jersey/jaxb が xml クエリを適切に非整列化するのを妨げていた原因です。ArrayListaddMedicoes

さらに、 以外の情報を投稿する必要があります。それwon't workだけでは、何が問題なのかを推測することしかできません。何が機能しないのですか? 表示するエラー メッセージ/ログはありますか。具体的に何を試しましたか?

于 2012-04-16T20:31:05.713 に答える