You can use the Spring MVC to build your Rest Web Services easily. Spring ROO can help you to set up a skeleton project from which you can learn how to set it up for your project.
Here is a demo which shows you how to use Spring ROO to build a RESTful Web Services: http://www.youtube.com/watch?v=TNE7NBLseRA
I don't know if there is any ROO addon can generate API keys for your web services but you can use Spring Security to secure your web services.