springboot controller开发方法
时间: 2025-02-09 19:10:34 浏览: 37
### Spring Boot Controller 开发教程
#### 创建控制器类
在创建一个Spring Boot应用程序的Controller时,首先需要定义一个带有`@Controller`或`@RestController`注解的类。这两个注解都用于标记一个类作为Spring MVC的控制器,但是它们之间存在一些差异。
对于仅返回视图名称而不直接处理数据的情况,应该使用`@Controller`注解;而当希望简化JSON/XML等格式的数据交互过程,则推荐采用`@RestController`注解[^1]:
```java
@RestController
public class HelloController {
// ...
}
```
#### 映射HTTP请求
为了让控制器能够接收特定URL模式下的HTTP请求,在方法上添加诸如`@GetMapping`, `@PostMapping`, `@PutMapping`, 或者通用的`@RequestMapping`这样的映射注解是非常重要的。下面是一个简单的例子展示了如何设置GET类型的端点来响应来自客户端的请求:
```java
@GetMapping("/hello")
public String sayHello() {
return "Hello, World!";
}
```
这段代码表示每当接收到针对`/hello`路径发起的GET请求时,就会调用`sayHello()`函数,并将其返回的结果作为HTTP响应体的一部分发送回去。
#### 处理参数
除了基本的路由外,还可以通过多种方式获取查询字符串、表单字段以及URI模板变量等形式传递给服务器的信息。例如,可以通过`@RequestParam`读取URL中的查询参数,或是借助于`@PathVariable`捕获路径片段内的动态部分:
```java
@GetMapping("/greet/{name}")
public String greetUser(@PathVariable String name) {
return "Greetings from " + name;
}
@GetMapping("/search")
public List<Item> searchItems(@RequestParam(value="query", defaultValue="") String query){
// Implementation here...
}
```
上述两个实例分别演示了怎样提取路径参数(`{name}`)和可选查询参数(`?query=...`)。
#### 返回复杂对象
如果想要让API支持更复杂的结构化输出而不是简单文本串的话,那么就可以考虑将POJO(Plain Old Java Object)实体类设为方法签名里的返回类型。此时框架会自动序列化成对应的媒体类型(比如application/json),从而方便前端消费[^2]:
```java
class Item {
private Long id;
private String title;
// Getters and setters omitted for brevity.
}
@PostMapping("/items")
public ResponseEntity<Item> createItem(@RequestBody Item newItem) {
// Logic to save the item...
return new ResponseEntity<>(newItem, HttpStatus.CREATED);
}
```
这里展示了一个接受POST请求的例子,它允许客户提交新的资源记录并通过`ResponseEntity<T>`封装完整的HTTP状态码连同实际内容一起反馈出去。
阅读全文
相关推荐
















