Я создаю API REST с Джерси и Джексоном. Я использовал этот учебник (http://www.mkyong.com/webservices/jax-rs/json-example-with-jersey-jackson/), чтобы начать работу с Джексоном.Создайте HMAC перед отправкой ответа JSON с Jackson + Jersey
Я хочу подписать ответ перед его отправкой. Как я могу получить строку 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();
}
Я также хочу, чтобы проверить подпись на Incomming запросу:
@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, который будет сгенерирован от объекта, прежде чем он будет отправлен ?
Спасибо за ваши ответы