Jersey に一連の HTTP ヘッダーを取得させ、それらを POJO にマーシャリングすることは可能ですか?
質問する
793 次
4 に答える
4
jersey 1.x を使用している場合は @InjectParam を使用できますが、2.x にアップグレードして @BeanParam の使用を開始することをお勧めします。
于 2015-05-01T13:32:51.863 に答える
2
@HeaderParam
として特定のものにアクセスしたい場合はString
、@Juned Ahsan または @DJ Spiess が提供する回答を使用してください。それらを POJO に注入する場合は@BeanParam
、2.x でJersey を使用することをお勧めします。
例えば:
@Path("/foo")
public class FooResource {
@GET
@Path("/bar")
public void bar(@BeanParam MyBean myBean) {
// Do something
}
}
public class MyBean {
private String uaCompatible;
public MyBean(@HeaderParam("X-UA-Compatible") String uaCompatible) {
this.uaCompatible = uaCompatible;
}
public String getUacompatible() {
return this.uaCompatible;
}
}
@BeanParam
@InjectParam
Jersey 1.x (>=1.4) または1.4 より前の 1.xで置き換えることができます@Inject
。javax-@Inject
は、Spring などの依存性注入フレームワークを使用している場合にも使用できます。
于 2013-07-17T17:33:40.413 に答える
1
はい、このようにします。( http://www.mkyong.com/webservices/jax-rs/get-http-header-in-jax-rs/から)
@Path("/users")
public class UserService {
@GET
@Path("/get")
public Response addUser(@HeaderParam("user-agent") String userAgent) {
return Response.status(200)
.entity("addUser is called, userAgent : " + userAgent)
.build();
}
}
于 2013-07-17T15:05:28.390 に答える
0
はい、あなたはそれを使用して行うことができます@HeaderParams
于 2013-07-17T14:19:34.947 に答える