6 Star 12 Fork 19

北京大学-张齐勋 / 敏捷软件开发

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
05_SpringBoot开发Web接口入门.md 4.56 KB
一键复制 编辑 原始数据 按行查看 历史
张齐勋 提交于 2023-03-21 13:18 . add

简单示例

Spring Boot提供了很多功能强大的库和工具,可以帮助我们快速开发Web接口。下面是一个简单的示例,展示如何使用Spring Boot来开发一个基本的RESTful Web服务。

首先,我们需要创建一个Spring Boot项目。可以使用Spring Initializr来快速生成一个Spring Boot项目的基本结构。

接下来,我们需要添加必要的依赖项,包括Spring Web和Spring Boot DevTools等。这些依赖项可以在pom.xml文件中添加:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
    </dependency>
</dependencies>

创建一个简单的控制器类,来处理请求和响应。在控制器类上添加@RestController注解,以表示这是一个RESTful控制器。

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello, world!";
    }
}

在这个示例中,我们创建了一个HelloController类,使用@GetMapping注解来指定处理HTTP GET请求的URL路径。当请求路径为/hello时,控制器会返回一个字符串"Hello, world!"。

启动应用程序,可以使用mvn spring-boot:run命令或在IDE中运行main方法启动应用程序。

使用浏览器或其他HTTP客户端工具,访问http://localhost:8080/hello,可以看到响应的结果为"Hello, world!"。

这只是一个简单的示例,Spring Boot还提供了更多的功能和工具,可以帮助我们更加灵活地开发Web接口。

返回一个对象

Spring Boot开发Web接口时,我们通常需要返回Java对象或实体类,而不是简单的字符串或数字。下面是一个简单的示例,展示如何使用Spring Boot返回对象。

创建一个Java类,用来表示我们要返回的对象。这个类可以包含多个属性,例如姓名、年龄等。

public class Person {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

创建一个控制器类,使用@RestController注解来指定这是一个RESTful控制器。在控制器方法中,我们可以创建一个Person对象,并将其作为响应返回。

@RestController
public class PersonController {
    @GetMapping("/person")
    public Person getPerson() {
        Person person = new Person();
        person.setName("Tom");
        person.setAge(20);
        return person;
    }
}

在这个示例中,我们创建了一个PersonController类,使用@GetMapping注解来指定处理HTTP GET请求的URL路径。当请求路径为/person时,控制器会创建一个Person对象并将其作为响应返回。

启动应用程序,可以使用mvn spring-boot:run命令或在IDE中运行main方法启动应用程序。

使用浏览器或其他HTTP客户端工具,访问http://localhost:8080/person,可以看到响应的结果为一个JSON对象:

{
    "name": "Tom",
    "age": 20
}

在Spring Boot中,使用Jackson库自动将Java对象序列化为JSON格式的字符串,并将其作为响应返回。

配置Jackson

在Spring Boot中,默认使用Jackson库来处理JSON数据的序列化和反序列化。我们可以通过修改配置文件来改变Jackson的默认行为。以下是一些常见的配置选项:

更改日期格式

默认情况下,Jackson将日期序列化为ISO 8601格式的字符串。我们可以通过在application.properties或application.yml文件中添加以下行来修改日期格式:

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss

这样,Jackson将日期序列化为yyyy-MM-dd HH:mm:ss格式的字符串。

忽略空值

默认情况下,Jackson会序列化所有属性,包括值为null的属性。我们可以通过在配置文件中添加以下行来忽略空值:

spring.jackson.default-property-inclusion=NON_NULL
spring:
  jackson:
    default-property-inclusion: NON_NULL

这样,Jackson将不会序列化值为null的属性。

指定springboot运行端口

在 application.yml 文件中添加以下内容:

server:
  port: your_port

将 your_port 替换为您希望应用程序使用的端口号。

Java
1
https://gitee.com/ss-pku/agile-software-development.git
git@gitee.com:ss-pku/agile-software-development.git
ss-pku
agile-software-development
敏捷软件开发
master

搜索帮助