题目
如何在Spring Boot中创建一个返回字符串的简单REST端点?
信息
- 类型:问答
- 难度:⭐
考点
Spring Boot基础, RESTful API设计, 控制器(Controller)使用
快速回答
在Spring Boot中创建简单REST端点的步骤如下:
- 使用
@RestController注解标记控制器类 - 在方法上添加
@GetMapping注解并指定URL路径 - 方法直接返回字符串数据
- Spring Boot会自动处理HTTP响应转换
原理说明
Spring Boot通过Spring MVC模块实现REST端点。当使用@RestController注解时,它组合了@Controller和@ResponseBody的功能:
- @Controller:标识该类为Web请求处理器
- @ResponseBody:指示方法返回值直接写入HTTP响应体(而非视图解析)
- @GetMapping:映射HTTP GET请求到特定方法
代码示例
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController // 关键注解1:声明REST控制器
public class SimpleController {
// 关键注解2:映射GET请求到/hello路径
@GetMapping("/hello")
public String sayHello() {
return "Hello, Spring Boot!"; // 直接返回字符串
}
}最佳实践
- URL命名:使用名词复数形式(如
/users)保持RESTful风格 - 响应类型:Spring Boot自动设置
Content-Type: text/plain - 启动验证:访问
http://localhost:8080/hello应返回字符串
常见错误
- 缺少注解:忘记
@RestController会导致404错误 - 路径冲突:重复的URL映射引发启动报错
- 方法错误:用
@PostMapping处理GET请求导致405状态码
扩展知识
- 其他注解:
@PostMapping,@PutMapping,@DeleteMapping对应不同HTTP方法 - 响应控制:使用
ResponseEntity可自定义HTTP状态码和头信息 - 路径变量:通过
@GetMapping("/user/{id}")和@PathVariable获取动态参数