One such tool is Swagger [1]. The nice thing about it is that it can automatically write you a client as well. There are client implementations for many programming languages, such as Java, Scala, Clojure, Ruby, Python, PHP, Javascript and C#.
[1] https://developers.helloreverb.com/swagger/