A very simple and elegant domain specific language / framework in Java that helps you to create amazing APIs.
YAWP!'s main purpose is to help developers to easily create meaningful APIs to back their REST based applications. It natively supports and abstracts the Google Appengine Platform, so you can bootstrap your API very quickly with a free (to start) auto-scalable environment. Later, if you change your mind, there are no lock-ins with Google and you can move freely to any cloud platform you want without losing data or having to rewrite your code.
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.