问题
Does anyone know how I can get the original header fields from request? I would like to validate, if client will receive html or just plain/text response. Can I get this fields inside 'toResponse' method of exceptionMapper?
I created exceptionMapper like in this post: http://gary-rowe.com/agilestack/2012/10/23/how-to-implement-a-runtimeexceptionmapper-for-dropwizard/
回答1:
If you did want to get information from the original request object, you can add the following to your controller.
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.Context;
@Path("/my")
@Produces(["application/json", "application/hal+json"])
class MyController {
@Context
protected HttpServletRequest httpRequest
@Timed
@GET
public Response getOne(){
httpRequest.getHeaders();
... //do something with headers
return Response.ok(new Person(id:1), httpRequest.getContentType());
}
来源:https://stackoverflow.com/questions/26282323/dropwizard-exceptionmapper-validate-original-header-fields