add kontor-javalin
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
package de.thpeetz.kontor.api;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import io.javalin.Javalin;
|
||||
import de.thpeetz.kontor.services.api.PersonReader;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.ServiceLoader;
|
||||
|
||||
public class Main {
|
||||
private static Logger logger = LoggerFactory.getLogger(Main.class);
|
||||
private static short port = 7312;
|
||||
|
||||
public static void main(String[] args) {
|
||||
var personReader = ServiceLoader.load(PersonReader.class).findFirst().get(); // <-- Getting an implementation
|
||||
// for the PersonReader interface
|
||||
// from the ServiceLoader
|
||||
var objMapper = new ObjectMapper();
|
||||
var result = objMapper.valueToTree(personReader.getAll());
|
||||
|
||||
logger.info("API: found {} people.", personReader.getAll().size());
|
||||
|
||||
var app = Javalin.create().start(port);
|
||||
app.get("/ping", ctx -> ctx.result("pong"));
|
||||
app.get("/persons", ctx -> ctx.json(result));
|
||||
|
||||
logger.info("API's alive for real :-)))");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
module de.thpeetz.kontor.api {
|
||||
requires io.javalin;
|
||||
requires com.fasterxml.jackson.databind;
|
||||
requires org.slf4j;
|
||||
requires kotlin.stdlib;
|
||||
|
||||
requires de.thpeetz.kontor.services;
|
||||
|
||||
uses de.thpeetz.kontor.services.api.PersonReader;
|
||||
}
|
||||
Reference in New Issue
Block a user