Spring Boot 构建Rest服务实验手册(一)

用 Spring Boot 构建一个简单的API服务。感受 Spring Boot 的方便,简洁与高效。
English Version

环境需求

全部使用免费软件

JDK 8
IDEA 2019 Community

构建项目骨架

Spring Boot Starter ,填写项目的基本配置信息和项目中需要用到的第三方组件,根据实验的目标,选择用 maven 作为构建工具,Java 作为编程语言,Spring Boot 的版本选择当前的稳定版本 2.1.6。 第三方包选择:Lombok, Spring Web Starter, Spring Data JPA, H2 Database。

然后点击 “Generate the Project” 按钮,下载生成的项目基本包。

然后用 IDEA 打开项目目录, 因为有目录中有 pom.xml 文件存在,IDEA 能侦察到这是个 maven 项目,会自动下载依赖的第三方包。 (如果你是第一次构建 Spring Boot 项目,这个下载的过程可能比较长)

建立API类

在 Spring Boot 中,构建一个 API 非常简单。首先新建一个普通的 Java 类,再在类中定义一个普通的返回字符串的方法。代码如下:

1
2
3
4
5
6
7
public class TodoApi {

public String ok() {
return "ok";
}

}

好,代码写完了。这是一个完全符合 Java 语言要求的简单 Java 类,你可以编译这个类,当然,你没法运行这个类,因为没有 main 方法。 接下来,我们为它加入注解,使它变成一个可以向客户端提供服务的服务类。

  1. 在类定义上加入 @RestController 注解
  2. 在 ok 方法上加入 @ GetMapping 注解

改变以后,代码如下:

1
2
3
4
5
6
7
8
9
@RestController
public class TodoApi {

@GetMapping("/ok")
public String ok() {
return "ok";
}

}

现在在IDEA中运行项目(IDEA Community 需要建一个 “Run/Debug Configurations”),然后打开浏览器,输入 localhost:8080/ok 就可以看到返回的 ok 字符串显示在屏幕上了。

构建实体类 Todo

在项目中新建 model 包,然后在里面新建一个简单 Java 类: Todo, 在类中加入几个基本属性:

1
2
3
4
5
6
7
8
9
public class Todo {

private Integer id;

private String title;

private String desc;

}

在类中,我们既没有写 get, set 方法,也没有写构造方法。因为我们会使用 Lombok 来生成这些。

  1. 如果需要生成 get, set 方法,则在类定义上加入 @Data 注解
  2. 如果需要生成构成函数,则使用对应的构造函数的注解,在本例中,我们构造一个包括所有属性的构造函数,则加入 @AllArgsConstructor

完成后的代码如下:

1
2
3
4
5
6
7
8
9
10
11
@Data
@AllArgsConstructor
public class Todo {

private Integer id;

private String title;

private String desc;

}

改造API 返回所有的Todo

现在返回到 TodoApi 类,增加一个方法返回所有的 Todo 列表。 增加的代码如下:

1
2
3
4
5
6
7
8
9
@GetMapping("/todo")
public List<Todo> getTodoList() {

List<Todo> todos = new ArrayList<>();
todos.add(new Todo(1, "Call Metting", ""));
todos.add(new Todo(2, "Print File", ""));

return todos;
}

在这里,我们将方法映射到URL “/todo” 上, 并构造了两个示例的 Todo 数据。 如果加入这段程序后,出现”Todo没有指定的构成方法”的错误,可以参考 让IDEA IDE识别Lombok的注解 解决

现在,运行程序,访问地址 localhost:8080/todo, 可以看到,Todo 列表被组装为 json 数据格式返回了。

1
[{"id":1,"title":"Call Metting","desc":""},{"id":2,"title":"Print File","desc":""}]

下一步

下一篇文章中,将介绍如何从数据库中获取 Todo 数据。

本文标题:Spring Boot 构建Rest服务实验手册(一)

文章作者:梅老师

发布时间:2019年06月26日 - 20:06

最后更新:2020年09月16日 - 08:09

原始链接:https://www.mls-tech.info/java/springboot-practice-manul/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。