Designed to host API documentation for REST services. See spec/api.json for description of the API. Code generators for various languages & frameworks are independent of this application. Official generators can be found in apidoc-generators.
There are several projects within the apidoc repo.
Contains shared code to parse an api.json file into case classes, including validation on the document in a way that is friendly to users.
apidoc REST service itself. See spec/api.json contains the description of the API.
Actual UI for apidoc.
The .apidoc file lists the specific targets which are generated by apidoc. To regenerate code, clone github.com/mbryzek/apidoc-cli and
bin/apidoc update
In development:
APIDOC_API_URI="http://localhost:9001" /web/apidoc-cli/bin/apidoc update
script/upload
Memory settings for SBT:
exec java -Xms512M -Xmx2048M -XX:MaxPermSize=1G -Xss1M -XX:+CMSClassUnloadingEnabled \
${SBT_OPTS} -jar /usr/local/Cellar/sbt/0.13.5/libexec/sbt-launch.jar "$@"
You'll need to run the postgresql database (version 9.5 or greater). Two options:
-
docker run -d -p 5432:5432 mbryzek/apidoc-postgresql:latest
-
run locally - see the project https://github.com/mbryzek/apidoc-postgresql
The application consists of a service on port 9001, and a web app on port 9000.
One way to do this is to run a screen session, and in one screen do:
$ sbt
sbt> project api
sbt> run 9001
...then in another screen, do:
$ sbt
sbt> project www
sbt> run
Goto http://localhost:9000 in your browser
If you want to run the standard code generators service locally you can clone it from apidoc-generator
$ sbt
sbt> project generator
sbt> run 9002
Goto http://localhost:9002/generators in your browser
Now both should be running and able to talk to each other, and should recompile in situ for a nice development experience.
/web/apidoc-cli/bin/apidoc update