package apps; import java.util.List; import org.jooby.Err; import org.jooby.Jooby; import org.jooby.Status; public class AppWithDoc extends Jooby { private static final int START = 0; private static final int MAX = 200; { { /** * Home page. */ get("/", () -> "Hi"); /** * Api summary. */ use("/api/pets") /** * Get a pet by ID. * * @param id A pet ID. * @return A {@link LocalType} with a <code>200 = Success</code> code or <code>404</code>. */ .get("/:id", req -> { int id = req.param("id").intValue(); DB db = req.require(DB.class); LocalType result = db.find(id); if (result == null) { throw new Err(Status.NOT_FOUND); } return result; }) /** * List all pets. * * @param start Start offset. Optional * @param max Max number of results. Optional * @return List of pets. */ .get(req -> { int start = req.param("start").intValue(START); int max = req.param("max").intValue(MAX); DB db = req.require(DB.class); List<LocalType> results = db.findAll(start, max); return results; }).post(req -> { LocalType body = req.body().to(LocalType.class); DB db = req.require(DB.class); body = db.create(body); return body; }).delete("/:id", req -> { int id = req.param("id").intValue(); DB db = req.require(DB.class); LocalType result = db.delete(id); return result; }); } } }