使用QUARKUS开发JSON REST 服务
1. 概述
目前JSON已经成为微服务之间常用的通讯协议,在本文中,我们将了解如何让REST服务消费和生成JSON报文消息
在开始前,我们需要准备一些基础组件:
- 一个你熟悉的IDE ,如:Eclipse , IDEA
- JDK 1.8+ ,并且正确设置了JAVA_HOME
- Apache Maven 3.6.2+
2. 创建项目
2.1 使用Maven创建项目
我们可以使用Maven原型创建新项目,执行如下命令:
mvn io.quarkus:quarkus-maven-plugin:1.10.5.Final:create \
-DprojectGroupId=org.example \
-DprojectArtifactId=rest-json-quickstart \
-DclassName="org.example.rest.json.FruitResource" \
-Dpath="/fruits" \
-Dextensions="rest-client, resteasy-jackson"
cd rest-json-quickstart
该命令生成带有REST端点的Maven项目,并导入rest-client和resteasy-jackson依赖项,执行命令后会在项目POM.xml中生成如下代码:
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-rest-client</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-jackson</artifactId>
</dependency>
2.2 使用在线工具创建项目
我们也可以使用quarkus提供的在线工具code.quarkus.io/ 创建项目;依次在页面上填写Group:org.example , Artifact : rest-json-quickstart , Build Tool : Maven
随后在扩展列表中选择:REST Client , RESTEasy Jackson 依赖扩展
最后点击生成项目按钮,就可以下载在线工具生成的新项目代码
3. 创建第一个JSON REST服务
在本例中,我们将创建一个应用程序来管理水果列表
首先,让我们创建Fruit bean如下:
package org.example.rest.json;
public class Fruit {
public String name;
public String description;
public Fruit() {
}
public Fruit(String name, String description) {
this.name = name;
this.description = description;
}
}
需要注意的一件重要事情是,JSON序列化层需要有一个默认构造函数,所以上述代码提供了一个空的构造函数
下面我们开始创建FruitResource类,它是实现REST服务的地方:
package org.example.rest.json;
import java.util.Collections;
im