I've had the opposite experience trying to work with Swagger in a dynamic server-side language (node). It's just a major pain to work with and the node implementation has many obvious bugs that are being ignored by the developer. Swagger, to me, only seems to be a good option when most of the meta data is coming from static analysis. It works well in languages like Java, but not so much in languages that are less syntactically strict. And since it's not really designed to be written by a human, you're stuck having to use some hack (either of your own design or the poor 3rd-party options currently available) to generate the Swagger json.
I've been much happier with http://apiblueprint.org/ and it's approach of making the executable documentation writable by developers.