Just a quick tip for the Spring fans out there…
I was leading a workshop yesterday and this question arose: Is it possible to filter requests by header content using Spring’s various request mapping (@RequestMapping, @GetMapping, @PostMapping, et al) annotations?
Not only is it possible, it’s easy, and the implementation is concise & clean! Let’s take a look.
Here is a simple example that filters based upon the content-type of the header:
To test this, simply visit the Spring Initializr, create a simple Spring Boot app with a single dependency (Web), download & unzip it, and add the code above using your favorite IDE. Then build & run it (of course)! 😉
Using httpie (which is quickly becoming my favorite CLI HTTP client), we can verify our results:
Request content type of text/plain
Request content type of application/json
NOTE: The above examples use httpie “shorthand”, which assumes localhost when the base URL is omitted.
That’s all for now, but stay tuned (or follow me on Twitter) for more quick (or more lengthy) Spring tips!