Overriding the HTTP method
In certain situations (for example, when the service or its consumers are behind an overzealous corporate firewall, or if the main consumer is a web page), only the GET
and POST
HTTP methods might be available. In such a case, it is possible to emulate the missing verbs by passing a custom header in the requests.
For example, resource updates can be handled using POST
requests by setting a custom header (for example, X-HTTP-Method-Override
) to PUT
to indicate we are emulating a PUT
request via a POST
request. The following method will handle this scenario:
@RequestMapping(value = "/{roomId}", method = RequestMethod.POST, headers = {"X-HTTP-Method-Override=PUT"}) public ApiResponse updateRoomAsPost(@PathVariable("roomId") ...
Get Building a RESTful Web Service with Spring now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.