题目
如何在Spring Boot中创建一个简单的RESTful端点返回'Hello World'?
信息
- 类型:问答
- 难度:⭐
考点
Spring Boot基础, RESTful API, 控制器注解
快速回答
创建一个返回"Hello World"的REST端点需要以下步骤:
- 使用
@RestController注解标记控制器类 - 在方法上添加
@GetMapping注解定义HTTP GET端点 - 方法返回字符串类型数据
- 启动类需包含
@SpringBootApplication注解
原理说明
Spring Boot通过注解简化RESTful服务的开发:
- @RestController:组合了
@Controller和@ResponseBody,表示该类处理HTTP请求且返回值直接写入响应体 - @GetMapping:将HTTP GET请求映射到特定方法
- 自动配置的嵌入式Tomcat服务器处理网络请求
代码示例
// 1. 创建控制器类
@RestController
public class HelloController {
// 2. 定义GET端点
@GetMapping("/hello")
public String sayHello() {
return "Hello World";
}
}
// 3. 启动类
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}最佳实践
- 端点路径规范:使用名词复数形式(如
/api/greetings) - 版本控制:在路径中加入版本号(如
/api/v1/hello) - 响应封装:实际项目中应返回JSON对象而非纯字符串
常见错误
- 缺少注解:忘记添加
@RestController导致返回视图名称而非字符串 - 路径冲突:多个方法使用相同URL路径导致启动报错
- 端口占用:默认8080端口被占用时需在
application.properties中配置server.port
扩展知识
- 其他HTTP方法:
@PostMapping,@PutMapping,@DeleteMapping - 路径变量:使用
@GetMapping("/hello/{name}")配合@PathVariable String name获取动态参数 - 请求参数:
@RequestParam获取查询参数(如/hello?name=John) - 响应状态码:使用
@ResponseStatus(HttpStatus.OK)显式设置状态码