Я хочу добавить пользовательский заголовок в приложение JAX-RS с весенней загрузкой. Я знаю несколько способов добавить заголовки, но мой вариант использования не может использовать эти варианты использования.
Мой вариант использования заключается в том, что я хочу создать случайную строку для одного из классов, а затем одновременно добавить ее в заголовок и двигаться дальше.
Вот несколько способов добавить заголовок ответа.
1
`@Produces(MediaType.APPLICATION_JSON)
public UserClass getValues(@Context HttpHeaders header, @Context HttpServletResponse response) {
response.setHeader("yourheadername", "yourheadervalue");
... }`
2
`@GET
@Produces({ MediaType.APPLICATION_JSON })
@Path("/values")
public Response getValues(String body) {
//Prepare your entity
Response response = Response.status(200).
entity(yourEntity).
header("yourHeaderName", "yourHeaderValue").build();
return response;
}`
- реализует класс ContainerResponseFilter и добавляет.
Но ничего из этого не решает мой вариант использования.
Допустим, в моем классе я сгенерировал одну строку и хотел добавить в заголовок ответа, как это
@Component
public class AsyncPublisher{
public void publishLogs(Object request, Object response, Object serviceBin, long elapsedTime ){
String headerValue = "headerValue";
*// get response header list here and add header like this*
// responseHeaders.add("Custom-Header", headerValue)
}
}
Кто-нибудь знает, как это сделать. Причина, по которой все три метода не решают эту задачу.