【发布时间】:2016-04-30 19:25:49
【问题描述】:
我是 sparkjava 的新手,总体上喜欢它。但是,是否必须在 main 方法中定义新的路由/端点?对于任何重要的 Web 应用程序,这将导致很长的 main 方法,或者我需要有多个 main 方法(因此在多个实例之间拆分服务器资源)。
这两个 sparkjava 文档页面似乎在 main 方法中定义了路由:http://sparkjava.com/documentation.html#routes,这里是http://sparkjava.com/documentation.html#getting-started。
还有其他我没有看到的方法吗?粗略的谷歌搜索并没有向我展示更好的方法......
=========
这是我根据 Andrew 的回答所做的完整解决方案。在我看来,在 main 方法之外添加端点应该是 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;
}
}
【问题讨论】:
标签: routes spark-java