In the initial example we have seen how to define a service that catches all GET requests to the handler. In the following sections we will look at defining more complicated services using more elaborate patterns. In Section 24.3.1 we are going to look at matching other request types, such as POST and PUT. In Section 24.3.2 we are going to see how to serve different content types depending on the requested data. In Section 24.3.3 we will see how to match path elements and in Section 24.3.4 how to extract query parameters.