On.get("/size").json((String msg) -> msg.length());
HTTP server routes information:
Verb |
Path |
Zone |
Content type |
MVC |
View name |
Roles |
GET
|
/size |
main |
json |
|
|
|
On.page("/hi").mvc("Hello <b>world</b>!");
config.yml
gui:
brand: 'Cool app!'
title: 'the head title'
search: true
menu:
Home: /
Portfolio: /portfolio
About:
About Us: /about
About You: /
Let's send some HTTP requests and check the results:
GET /hi
HTTP server routes information:
Verb |
Path |
Zone |
Content type |
MVC |
View name |
Roles |
GET
POST
|
/hi |
main |
html |
|
hi |
|
Main.java
import org.rapidoid.annotation.Valid;
import org.rapidoid.jpa.JPA;
import org.rapidoid.setup.App;
import org.rapidoid.setup.On;
public class Main {
public static void main(String[] args) {
App.bootstrap(args).jpa(); // bootstrap JPA
On.get("/books").json(() -> JPA.of(Book.class).all()); // get all books
On.post("/books").json((@Valid Book b) -> JPA.save(b)); // insert new book if valid
}
}
Book.java
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.validation.constraints.NotNull;
@Entity
public class Book {
@Id
@GeneratedValue
public Long id;
@NotNull
public String title;
public int year;
}
Let's send some HTTP requests and check the results:
POST /books
{"title":"Java Book","year":2016}
{"id":1,"title":"Java Book","year":2016}
GET /books
[{"id":1,"title":"Java Book","year":2016}]
POST /books
{"year":2004}
{"error":"Validation failed: Book.title (may not be null)","code":422,"status":"Unprocessable Entity"}
GET /books
[{"id":1,"title":"Java Book","year":2016}]
HTTP server routes information:
Verb |
Path |
Zone |
Content type |
MVC |
View name |
Roles |
GET
|
/books |
main |
json |
|
|
|
POST
|
/books |
main |
json |
|
|
|