springboot controller 返回对象修改字段名
时间: 2023-11-08 12:41:08 浏览: 41
在Spring Boot中,你可以使用`@JsonAlias`注解来修改返回对象的字段名。这个注解可以用于类的属性或者Getter方法上。
下面是一个示例:
```java
import com.fasterxml.jackson.annotation.JsonAlias;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/example")
public class ExampleController {
@GetMapping("/data")
public ExampleData getData() {
ExampleData data = new ExampleData();
data.setName("John");
data.setAge(25);
return data;
}
public static class ExampleData {
@JsonAlias({"full_name", "fullName"})
private String name;
@JsonAlias({"years_old", "yearsOld"})
private int age;
// getters and setters
}
}
```
在上面的示例中,`ExampleData`类中的`name`字段被标注为`@JsonAlias({"full_name", "fullName"})`,表示该字段可以通过`full_name`或者`fullName`两个不同的名称进行反序列化。同样地,`age`字段也被标注为`@JsonAlias({"years_old", "yearsOld"})`。
当你访问`/example/data`接口时,返回的JSON数据中的字段名就会按照`@JsonAlias`中指定的名称进行序列化。
示例返回的JSON数据可能如下所示:
```json
{
"full_name": "John",
"years_old": 25
}
```
这样,你就可以通过`@JsonAlias`注解来修改返回对象中的字段名。