Sono nuovo di sparkjava e mi piace in generale. Tuttavia, i nuovi percorsi/endpoint devono essere definiti nel metodo principale? Per qualsiasi applicazione Web significativa, ciò comporterà un metodo main molto lungo o ho bisogno di avere più metodi principali (e quindi dividere le risorse del server tra più istanze).sparkjava: i percorsi devono essere nel metodo principale?
Queste due pagine di documentazione di sparkjava sembrano definire percorsi nel metodo principale: http://sparkjava.com/documentation.html#routes e qui http://sparkjava.com/documentation.html#getting-started.
C'è un altro modo per farlo che non vedo? Superficiale google ricerca non mi ha mostrato un modo migliore ...
=========
Ecco la soluzione completa ho basa sulla risposta da Andrew. A mio parere, l'aggiunta di punti finali al di fuori del metodo principale dovrebbe essere parte della pagina di documentazione sparkjava:
Metodo principale:
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());
}
mia risorsa:
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());
}
}
Il mio servizio:
public class Service {
public Object find(String id) {
return null;
}
public Object findAll() {
return null;
}
}
My JsonTransformer:
import spark.ResponseTransformer;
public class JsonTransformer implements ResponseTransformer {
@Override
public String render(Object model) throws Exception {
return null;
}
}
Grazie - funziona! – thebiggestlebowski