【发布时间】:2015-11-07 20:59:27
【问题描述】:
我正在使用 Jersey 和 Jackson 构建一个 REST API。我使用本教程 (http://www.mkyong.com/webservices/jax-rs/json-example-with-jersey-jackson/) 开始使用 Jackson。
我想在发送之前签署回复。如何获取将生成的 JSON 字符串以便我对其进行签名?
@GET
@Path("/get")
@Produces(MediaType.APPLICATION_JSON)
public Response getTrackInJSON() {
Track track = new Track();
track.setTitle("Enter Sandman");
track.setSinger("Metallica");
String HMAC = HMAC("[secret]", [track.toJson]);
return Response.status(201).entity(track).header("HMAC", HMAC).build();
}
我还想验证传入请求的签名:
@POST
@Path("/post")
@Consumes(MediaType.APPLICATION_JSON)
public Response createTrackInJSON(Track track) {
String rawRequestBody = [how to get the raw request?];
//get header
//verify HMAC
return Response.status(201).entity(result).build();
}
所以我最大的问题是如何在对象被发送之前获取将生成的原始 JSON 字符串?
感谢您的回答
【问题讨论】:
标签: java json jersey jackson jax-rs