📜  Spring Boot – REST 示例(1)

📅  最后修改于: 2023-12-03 15:20:12.716000             🧑  作者: Mango

Spring Boot - REST 示例

本文将介绍如何使用Spring Boot创建基本的REST服务。

准备
  • Java 8或更高版本
  • Maven
  • IDE(推荐使用IntelliJ IDEA)
创建Spring Boot项目

我们首先需要创建一个Spring Boot项目。你可以通过Spring Initializr创建一个新项目,也可以使用你喜欢的IDE来生成空的Maven项目,并添加必要的依赖。

添加依赖

pom.xml文件中添加以下依赖:

<dependencies>
    <!-- Spring Boot Web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    <!-- Spring Boot DevTools (可选) -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
    </dependency>
</dependencies>
创建资源类

创建一个简单的资源类Greeting.java

public class Greeting {
    private final long id;
    private final String content;

    public Greeting(long id, String content) {
        this.id = id;
        this.content = content;
    }

    public long getId() {
        return id;
    }

    public String getContent() {
        return content;
    }
}
创建控制器类

创建一个控制器类GreetingController.java来处理来自客户端的请求:

@RestController
public class GreetingController {

    private static final String template = "Hello, %s!";
    private final AtomicLong counter = new AtomicLong();

    @GetMapping("/greeting")
    public Greeting greeting(@RequestParam(value = "name", defaultValue = "World") String name) {
        return new Greeting(counter.incrementAndGet(), String.format(template, name));
    }
}

在这个类中,我们使用@RestController注解来标识它是一个控制器,@GetMapping注解映射HTTP GET请求到/greeting路径,@RequestParam注解将查询参数映射到方法的参数。

启动应用程序

在IDE中启动应用程序,或者使用命令行运行:

mvn spring-boot:run

应用程序将在默认端口8080上运行。现在它已经准备好接收来自客户端的请求。

测试REST服务

我们可以使用任何HTTP客户端来测试我们的REST服务。最简单的方法是通过浏览器访问http://localhost:8080/greeting,应该会看到以下JSON响应:

{"id":1,"content":"Hello, World!"}

我们可以在请求中添加查询参数,如http://localhost:8080/greeting?name=User,以获取自定义的问候语:

{"id":2,"content":"Hello, User!"}
小结

Spring Boot使得构建REST服务变得容易和快速。在本文中,我们展示了如何使用Spring Boot创建一个基本的REST服务,并在浏览器中测试它。你可以通过添加更多的控制器和业务逻辑来扩展它,以构建更复杂的REST服务。