spark restful
免责声明 :这篇文章是关于名为Spark的Java微型Web框架的,而不是关于数据处理引擎Apache Spark的 。
在此博客文章中,我们将看到如何使用Spark构建简单的Web服务。 如免责声明中所述,Spark是受Ruby框架Sinatra启发的Java微型Web框架。 Spark的目的是简化操作,仅提供最少的功能集。 但是,它提供了用几行Java代码构建Web应用程序所需的一切。
入门
假设我们有一个带有一些属性的简单域类和一个提供一些基本CRUD功能的服务:
public class User {
private String id;
private String name;
private String email;
// getter/setter
}
public class UserService {
// returns a list of all users
public List<User> getAllUsers() { .. }
// returns a single user by id
public User getUser(String id) { .. }
// creates a new user
public User createUser(String name, String email) { .. }
// updates an existing user
public User updateUser(String id, String name, String email) { .. }
}
现在,我们希望将UserService的功能公开为RESTful API(为简单起见,我们将跳过REST的超媒体部分)。 为了访问,创建和更新用户对象,我们要使用以下URL模式:
得到 | /用户 | 获取所有用户的列表 |
得到 | / users / <id> | 获取特定用户 |
开机自检 | /用户 | 创建一个新用户 |
放 | / users / <id> | 更新用户 |
返回的数据应为JSON格式。
要开始使用Spark,我们需要以下Maven依赖项:
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.7</version>
</dependency>
Spark使用SLF4J进行日志记录,因此我们需要SLF4J活页夹才能查看日志和错误消息。 在此示例中,我们为此目的使用slf4j-simple依赖项。 但是,您也可以使用Log4j或您喜欢的任何其他绑定程序。 在类路径中使用slf4j-simple足以在控制台中查看日志输出。