Re:Why isn't your API specification public?
by frio on Wednesday April 27, 2016 @04:52PM
(#11584443)
That sounds very much like [API Blueprints](https://apiblueprint.org/), which [Apiary](https://apiary.io/) back. I tried to get the organisation I work for to standardise on them (being able to run tests from a versioned API specification seemed like a fantastic way to hit two birds with one stone), but sadly, couldn't convince enough people.
Re:Why isn't your API specification public?
by seanp2k2 on Wednesday April 27, 2016 @09:27PM
(#11585999)
It also sounds like Swagger + OpenAPIs: https://openapis.org
Re:Why isn't your API specification public?
by ewittern on Wednesday April 27, 2016 @05:31PM
(#11584736)
What were the reasons people brought up against doing this?
Mostly inertia. We're a large-ish company; I work in a remote office away from the majority of dev, and technical direction needs marketing.
We ended up using Swagger, which doesn't solve as many of our problems (having documentation generated from code isn't as robust from a testing POV, particularly when your RESTful API is versioned), but my "perfect" is the enemy of the company's "good" :).
Re:Why isn't your API specification public?
by bbrennan on Wednesday April 27, 2016 @05:04PM
(#11584553)
I actually have two related projects here:
Scrape HTML to swagger: https://github.com/bobby-brennan/scrape-to-swagger
Swagger to HTML docs: https://github.com/lucybot/lucy-console
We also have a commercial version of the latter which you can see at any-api.com
Re:Why isn't your API specification public?
by ewittern on Wednesday April 27, 2016 @05:30PM
(#11584728)
Cool projects, thanks for pointing them out! So, the scrape-html-to Swagger one would basically allow you to keep Swagger up to date as you change the human-readable API documentation? In that case, someone still has to make sure the API documentation is in sync with the source code, right?
However, what if the specs were able to capture what is in such human-readable pages (for example https://docs.cloudant.com/)? What if API spec could be automatically derived out of HTML pages? Embed some metadata in HTML page and then we have both cake (human-readable) and eat it (machine-readable)?