gpt4 book ai didi

java - 在动态信封中包装 json 响应 - Rest api

转载 作者:行者123 更新时间:2023-12-04 09:05:13 25 4
gpt4 key购买 nike

我有一个带有一个 Rest API 的简单 spring-boot 应用程序。我想通过使用客户端休息 Web 服务来发送学生数据(以 JSON 格式)。
但我想用“DATA”包围这个学生信息,它应该是动态的,如下所示。

if(dynamic == true)
// envelop the student information in "DATA" and send student info to client.
else
// Do not envelop student data and send student info to client.
学生当前的 JSON 格式。
{
"id": "1-abcd",
"name": "stack",
"address": "Pune"
}
预期的 json 格式。
{
"data": {
"id": "1-abcd",
"name": "stack",
"address": "Pune"
}
}
学生类如下:
Class Student{
String id;
String name;
String address;
}

最佳答案

你可以有一个 Envelope类如:

public class Envelope {

Student data;

public Student getData() {
return data;
}

public void setData(Student data) {
this.data = data;
}

public Envelope(Student data) {
super();
this.data = data;
}
}
而您在 if-else 中的逻辑:
  // using Jackson library: import com.fasterxml.jackson.databind.ObjectMapper;
ObjectMapper mapper = new ObjectMapper();
Student student = new Student("1-abcd", "stack", "Pune");

if (dynamic) {
Envelope envelope = new Envelope(s);
return mapper.writeValueAsString(envelope)
}

return mapper.writeValueAsString(student)
输出
包裹:
{
"data": {
"id": "1-abcd",
"name": "stack",
"address": "pune"
}
}
展开:
{
"id": "1-abcd",
"name": "stack",
"address": "pune"
}

关于java - 在动态信封中包装 json 响应 - Rest api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63461905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com