3

私はジャージーを使用しています。次の方法があります。

@POST
@Path("hello")
@Produces(MediaType.TEXT_HTML)
public String hello(@FormParam("username") String username)
{
    Gson gson = new Gson();
    CommunicationResponseM result = new CommunicationResponseM();

    String result = "hello";

    return gson.toJson(result);
}

これまでのところすべてうまくいっていますが、ここでいくつかのヘッダーを追加する必要があります。どうやってやるの?

ありがとう!

PS:
この方法でジャージー サーバーを起動します。

    final HttpServer server = HttpServerFactory.create(baseUrl);
    server.start();
4

2 に答える 2

4

Response代わりにオブジェクトを返すことができます。
https://jersey.java.net/nonav/documentation/latest/user-guide.html#d0e5169 およびhttp://jersey.java.net/nonav/apidocs/1.17/jersey/javax/wsをご覧ください。
/rs/core/Response.ResponseBuilder.html

これらはあなたを正しい軌道に乗せるはずです...

于 2013-03-17T20:14:31.983 に答える
2

http リクエストからヘッダー パラメータの値を取得する方法を探している場合は、@HeaderParamアノテーションを使用できます。@FormParam アノテーションに似ています。

応答にヘッダーを追加する場合は、いくつかの方法があります。

  • @Contextアノテーションを使用してリソースにHttpServletResponseを挿入し、それに対して addHeader メソッドを呼び出すことができます。
  • メソッドでResponseオブジェクトを返し、それを使用してヘッダーを追加できます。ResponseBuilderも参照してください。

Jersey 1 の詳細については、Jersey 1.18 ユーザー ガイドを参照してください。セクション 2.5 および 2.13 を参照してください。

Jersey 2 ユーザー ガイドについては、第 3 章とセクション 3.6 を参照してください。

于 2013-03-17T20:29:49.100 に答える