📅  最后修改于: 2023-12-03 14:52:34.543000             🧑  作者: Mango
RestController 是 Spring Boot 中用于创建 RESTful 服务的一个重要组件。它提供了一种方便的方式来处理 HTTP 请求并将响应以 JSON 格式返回给客户端,为前后端分离开发提供了很大的便利。
本教程将演示如何在 Spring Boot 中制作一个简单的 RestController。你将学习如何建立 RestController、如何对请求进行控制和如何返回 JSON 格式的响应。
在 IntelliJ IDEA 中创建一个新的 Spring Boot 项目:
File -> New -> Project
Spring Initializr
,并点击 Next
Next
Web
并点击 Next
Finish
创建项目现在你已经有了一个新的 Spring Boot 项目。
src/main/java
目录下创建一个新的 Java 类: HelloController
。@RestController
注解,表明它是一个控制器类。@RestController
public class HelloController {
}
HelloController
中添加一个方法,用于处理 HTTP GET 请求:@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, World!";
}
}
上面的代码创建了一个 hello
方法,它使用 @GetMapping
注解表明它可以处理 HTTP GET 请求,并返回一个简单的字符串 "Hello, World!"。
http://localhost:8080/hello
,你应该可以看到返回的字符串 "Hello, World!"。现在你已经学会如何创建一个简单的 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 服务的基础知识。