java - 如何将路由与单个主方法分开,以便我可以处理差异类(如 servlet)中的请求

标签 java backend spark-java

我正在使用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/

相关文章:

kotlin - 从 Kotlin 中的 lambda 表达式显式返回

java - Android NDK 中止停止,无法创建 NDK 版本

java - 获取已编译类的源代码

java - 查看网络上的多个服务器

android - Android 后端支持的最佳实践

php - 如何在 Woocommerce 管理产品列表中添加/删除列

java - Java 中的同步 Get 方法

mysql - 如果我使用 MS Access 作为前端,MySQL 作为后端,它会有效地工作吗?

java - 如何使用 Spark 的路由提供 json 服务?

java - 无法编译 : sparkjava exception handling