chengf
2025-10-11 a58221e75d2e38172533e17b6590983a9b3cabb9
docs/zh/development/backend/controller.md
@@ -1 +1,64 @@
# 控制器
# 控制器 Controller
## 前言
在 Spring 中,Controller 是用来接受 Web 的数据请求的。在 AIFlowy 中,我们开发了一个名称为 `@JsonBody` 的注解,用于增强对 Controller 的接收和解析前端传入的 JSON 数据。
---
## @JsonBody 示例代码
### 示例 1
**前端传入内容如下:**
```json
{
  "myId": 123
}
```
后端 Controller 可以通过如下的方式来接收:
```java
public Result(@JsonBody("myId") int a) {
    System.out.println(a);
}
```
以上代码中,a的值为 123。
```java
public Result(@JsonBody(value="myId",required = true) int a){
System.out.println(a);
}
```
若 JsonBody添加了 required = true的配置,而前端未传入 "myId" 时,则会报错并告知前端必须传入 myId。
示例2
前端传入内容如下:
```json
{
  "myId":123,
  "other":{
    "account":{
      "id":100,
      "name":"michael"
    }
  }
}
```
后端 Controller 可以通过如下的方式来接收:
```Java
public Result(@JsonBody("myId")int a,@JsonBody("other.account")Account account){
    System.out.println(a);
    System.out.println(account);
}
```
以上代码中,a的值为 123。account 的 id 为 100,name 为 “michael”。