zoukankan      html  css  js  c++  java
  • [转]Spring Boot 构建Rest服务实验手册(一)

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

    环境需求

    全部使用免费软件

    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":""}]
  • 相关阅读:
    windows live writer backup
    SQL SERVER单独安装
    VS异常--未找到与约束 ContractName Microsoft.VisualStudio.Language.Intellisense.IGlyphService RequiredTypeIdentity
    ASP.NET之报表--RDLC(一)---附源码
    尚未指定报表“Report1”的报表定义
    人月神话
    [LeetCode]Reverse Nodes in k-Group
    [LeetCode]Divide Two Integer
    [LeetCode]Minimum Path Sum
    [LeetCode]Regular Expression Matching
  • 原文地址:https://www.cnblogs.com/roson020/p/12777582.html
Copyright © 2011-2022 走看看