Ich bin neu bei sparkjava und mag es insgesamt. Müssen jedoch neue Routen/Endpunkte in der Hauptmethode definiert werden? Für jede signifikante Webanwendung führt dies zu einer sehr langen Hauptmethode, oder ich benötige mehrere Hauptmethoden (und teile daher Serverressourcen auf mehrere Instanzen auf).sparkjava: Müssen Routen in der Hauptmethode sein?
Diese beiden Dokumentationsseiten von sparkjava scheinen Routen in der Hauptmethode zu definieren: http://sparkjava.com/documentation.html#routes und hier http://sparkjava.com/documentation.html#getting-started.
Gibt es eine andere Möglichkeit, dies zu tun, die ich nicht sehe? Flüchtige Google-Suche hat mir keinen besseren Weg gezeigt ...
=========
Hier ist die vollständige Lösung, die ich auf die Antwort von Andrew basiert hat.
Haupt Methode:
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());
}
Meine Ressource:
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());
}
}
Mein Service:
Meiner Meinung nach ist das Hinzufügen Endpunkte außerhalb des Hauptverfahrens sollte ein Teil der sparkjava Dokumentation Seite seinpublic class Service {
public Object find(String id) {
return null;
}
public Object findAll() {
return null;
}
}
Mein JsonTransformer:
import spark.ResponseTransformer;
public class JsonTransformer implements ResponseTransformer {
@Override
public String render(Object model) throws Exception {
return null;
}
}
Danke - das funktioniert! – thebiggestlebowski