我正在使用Spark为我的后端 Restful API 提供支持的框架。
从我读过的所有示例来看,所有请求都在 main
方法中处理。有没有办法可以将不同的请求处理程序分离到不同的类中,就像 Servlet 所做的那样,以便代码结构看起来更好。
最佳答案
首先,正如 @gurpreet 所写,您可以创建一个服务器对象,从而将路由从主例程转移到服务器类的方法中。这为您迈出了实现更简洁代码的第一步。
但我想您想将路由处理程序中完成的逻辑提取到不同的对象中。为此,您可以定义一个类,我在这里将其命名为 SampleResource,它有两个方法:
public class SampleResource {
public Object methodOne(Request request, Response response) throws Exception {
// do something useful to create you result object
return result;
}
public Object methodTwo(Request request, Response response) throws Exception {
// do something useful to create you result object
return result;
}
}
在主 Server 类中,您可以通过方法引用实例化并使用 SampleResource:
res = new SampleResource();
get("/one", res::methodOne);
get("/two", res::methodTwo);
因此,您可以将应用程序的逻辑分组到资源类中,这种方法更类似于经典的 JAX-RS 带注释的资源类。
关于java - 如何将路由与单个主方法分开,以便我可以处理差异类(如 servlet)中的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33456575/