A very simple and elegant domain specific language / framework in Java that helps you to create amazing REST APIs.
YAWP!'s main purpose is to help developers to easily create meaningful and scalable APIs to back their REST based applications. It natively supports and implements effective usage patterns for the Google Appengine Platform, so you can bootstrap your API very quickly with a free (to start) auto-scalable environment.
If scalability is not an issue or you'd rather do-it-yourself, you can use the PostgreSQL persistence driver to deploy your code on different platforms.
You create your POJOs and YAWP!
Here you can find the complete YAWP! Guides.
-
At the command prompt, create a new YAWP! API application:
$ mvn archetype:generate \ -DarchetypeGroupId=io.yawp \ -DarchetypeArtifactId=yawp \ -DarchetypeVersion=LATEST \ -DgroupId=yawpapp \ -DartifactId=yawpapp \ -Dversion=1.0-SNAPSHOT
-
Change directory to
yawpapp
and start the yawp development server:$ cd yawpapp $ mvn yawp:devserver
-
Using a browser, go to
http://localhost:8080/api
to check if everything is OK. -
Using a scaffolder, create a simple endpoint model:
$ mvn yawp:endpoint -Dmodel=person
Output:
@Endpoint(path = "/people") public class Person { @Id IdRef<Person> id; }
Try it:
$ curl http://localhost:8080/api/people
-
Follow the guidelines to start developing your API:
Everyone willing to contribute with YAWP! is welcome. To start developing you will need an environment with:
- JDK 1.7+
- Maven 3.3+
- PostgreSQL 9.4+
Then follow the travis-ci build script to get your build working.
Feel free to contact the developers at the IRC channel #yawp at chat.freenode.net
YAWP! is released under the MIT license.