📜  如何在 Spring Boot 中制作一个简单的 RestController?(1)

📅  最后修改于: 2023-12-03 14:52:34.543000             🧑  作者: Mango

在 Spring Boot 中制作一个简单的 RestController

介绍

RestController 是 Spring Boot 中用于创建 RESTful 服务的一个重要组件。它提供了一种方便的方式来处理 HTTP 请求并将响应以 JSON 格式返回给客户端,为前后端分离开发提供了很大的便利。

本教程将演示如何在 Spring Boot 中制作一个简单的 RestController。你将学习如何建立 RestController、如何对请求进行控制和如何返回 JSON 格式的响应。

前置条件
  • JDK 8 及以上版本
  • IntelliJ IDEA 或 Eclipse
创建一个新项目

在 IntelliJ IDEA 中创建一个新的 Spring Boot 项目:

  1. 打开 IntelliJ IDEA
  2. 选择 File -> New -> Project
  3. 选择 Spring Initializr,并点击 Next
  4. 输入你的项目信息,比如 Group、Artifact 和项目名称,然后点击 Next
  5. 选择 Web 并点击 Next
  6. 点击 Finish 创建项目

现在你已经有了一个新的 Spring Boot 项目。

创建一个 RestController
  1. 在项目的 src/main/java 目录下创建一个新的 Java 类: HelloController
  2. 在类上添加 @RestController 注解,表明它是一个控制器类。
@RestController
public class HelloController {

}
编写一个处理 HTTP 请求的方法
  1. HelloController 中添加一个方法,用于处理 HTTP GET 请求:
@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}

上面的代码创建了一个 hello 方法,它使用 @GetMapping 注解表明它可以处理 HTTP GET 请求,并返回一个简单的字符串 "Hello, World!"。

启动应用程序并测试
  1. 启动 Spring Boot 应用程序。
  2. 在浏览器中访问 http://localhost:8080/hello,你应该可以看到返回的字符串 "Hello, World!"。
返回 JSON 格式的响应

现在你已经学会如何创建一个简单的 RestController,并使用方法处理 HTTP 请求。但在实际应用场景中,我们通常需要将数据以 JSON 格式返回给客户端。

在 Spring Boot 中,我们可以使用 @ResponseBody 注解将方法的返回值转换为 JSON 格式并返回给客户端,无需自己手动进行转换。

下面是一个简单的例子:

@RestController
public class UserController {

    @GetMapping("/user/{id}")
    public User getUser(@PathVariable("id") Long id) {
        User user = new User();
        user.setId(id);
        user.setName("John");

        return user;
    }
}

上面的代码演示了如何返回一个 User 对象。 @GetMapping 注解用于指示这个方法应该用于处理 HTTP GET 请求。 PathVariable 注解用于从 URL 中提取 id 属性的值,并将其作为方法的参数。

现在我们需要为 User 创建一个简单的 POJO 类:

public class User {

    private Long id;
    private String name;

    // 省略 setter / getter 方法
}

在完成了上述代码后,我们再次启动应用程序并访问 /user/1 URL 地址,我们将得到如下的响应:

{
  "id": 1,
  "name": "John"
}
结论

在本教程中,你学会了如何在 Spring Boot 中制作一个简单的 RestController,并对请求进行控制和返回 JSON 格式的响应。通过学习本教程,相信你已经掌握了如何使用 RestController 高效开发 RESTful Web 服务的基础知识。