Я новичок в sparkjava, и в целом мне это нравится. Однако нужно ли определять новые маршруты/конечные точки в основном методе? Для любого важного веб-приложения это приведет к очень длинному основному методу или мне нужно иметь несколько основных методов (и, следовательно, разделить ресурсы сервера между несколькими экземплярами).
Эти две страницы документации sparkjava, по-видимому, определяют маршруты в основном методе: http://sparkjava.com/documentation.html#routes и здесь http://sparkjava.com/documentation.html#getting-started а>.
Есть ли другой способ сделать это, которого я не вижу? Беглый поиск в гугле не показал мне лучшего пути...
=========
Вот полное решение, которое я сделал на основе ответа Эндрю. На мой взгляд, добавление конечных точек вне основного метода должно быть частью страницы документации sparkjava:
Основной метод:
public static void main(String[] args) {
//Do I need to do something more with the Resource instance so that sparkjava notices it and/or reads the routes?
Resource resource= new Resource(new Service());
}
Мой ресурс:
import static spark.Spark.*;
class Resource{
private Service service;
Resource(Service service){
this.service = service;
setupEndpoints();
}
private void setupEndpoints() {
get("/user/:id", "application/json",(request, response)
-> service.find(request.params(":id")), new JsonTransformer());
get("/users", "application/json", (request, response)
-> service.findAll(), new JsonTransformer());
}
}
Мой сервис:
public class Service {
public Object find(String id) {
return null;
}
public Object findAll() {
return null;
}
}
Мой JsonTransformer:
import spark.ResponseTransformer;
public class JsonTransformer implements ResponseTransformer {
@Override
public String render(Object model) throws Exception {
return null;
}
}