No matter how hard your API clients try, they will eventually get back errors from your API. apigee has an excellent blog post describing the reasons why detailed error messages are incredibly important for API client developers when starting to consume your API. When designed and used appropriately, these errors can be immensely useful to the end users of API client applications.
Update: Play Framework now supports Java filters as of 2.5, so this post is no longer as relevant as it once was if you are on the latest version. However, if you aren't able to upgrade, continue reading.
Working with the more advanced features of the Play Framework can be rather challenging if all you are used to is Java. Play only exposes Scala APIs for Filters. However, because of Java and Scala interoperability, it is possible to access those Scala APIs through Java. Possible doesn't necessarily mean pretty. Below is a walkthough on how to implement a Filter only using Java.