An experiment in Model Based API Development.
Thingifier comes preconfigured for download as:
When you download one of the .jar files then use:
java -jar runTodoListRestAPI-1.5.2.jar
Where you replace the name of the .jar file with the name of the file you downloaded.
- then visit http://localhost:4567 and you will see the welcome gui.
- there are links to the API documentation, and the View GUI
Command line options are:
-port=1234to change the port to1234-version=1to start with a different version.- Each api comes preconfigured with multiple versions, by default the 'best' version is used, so if you switch to an earlier version you might find more bugs.
API Challenges now lives in its own repository:
The hosted API Challenges app is still available at:
Currently Thingifier is suitable for using as a Practice Test App for API Testing.
Java source formatting is enforced with Spotless and google-java-format using the AOSP four-space style.
To format the code:
mvn spotless:applyTo check formatting without changing files:
mvn spotless:checkThe repository includes a pre-commit hook that runs the Spotless check before each commit as part of the full Maven verification. Enable the versioned hooks in a clone with:
git config core.hooksPath .githooksOn Unix-like systems, if Git reports that the hook is not executable, run:
chmod +x .githooks/pre-commitRun the same verification used by the pre-commit hook and CI with:
mvn -B clean verifyThis runs unit tests, integration tests, Spotless, Checkstyle, and PMD.
GitHub Actions runs on pushes to master, pull requests targeting master,
and manual dispatch. It runs a fast mvn -B spotless:check formatting job and
Java 17/21 mvn -B "-Dspotless.check.skip=true" clean verify jobs for compile,
unit tests, integration tests, Checkstyle, and PMD.
Based on my Compendium-TA tool from 2003/2004.
If you actually want an ER Based tool then check out:
If you want to generate test data for an api, investigate:
- Alan Richardson
- https://www.eviltester.com
- https://www.compendiumdev.co.uk
- https://uk.linkedin.com/in/eviltester
- https://twitter.com/eviltester
Current TODO List:
- add additional challenges about instance limits e.g. try to exceed 20
- add additional challenges around field validation values and limits