A client of our Ratpack application can send a HTTP Accept header to indicate the type of response the client expects or can handle. We can restrict our application to certain types with the accepts
method of the Handlers
class. We can define one or more String
values that denote the types that a client can use and our application responds to. If the value for the Accept header is one of the given values then the next handlers are invoked otherwise a client error 406 Not Acceptable
is returned.
In the following example Ratpack application definition we use the accepts
method so only values of application/json
and application/xml
:
// File: src/ratpack/ratpack.groovy import static ratpack.handling.Handlers.accepts import static ratpack.http.MediaType.APPLICATION_JSON import static ratpack.groovy.Groovy.ratpack ratpack { handlers { // If the Accept header contains application/json or // application/xml then continue with the rest of the // handlers. all(accepts(APPLICATION_JSON, 'application/xml')) get { render 'Developing with Ratpack is fun.' } } }
Written with Ratpack 1.1.1.