当前位置: 首页 > 知识库问答 >
问题:

如何在SpringBoot中返回JSON响应?

东郭淇
2023-03-14

我希望在spring boot中返回类似以下内容的json响应:

{
   "status" : true,
   "message" : "Data is found",
   "data" : single object or list of object
}

我的RestController如下所示

@GetMapping("/users")
public JSONObject getAllUsers() {
    List<User> user = repository.findAll(); // get all users from db            
    JSONObject jsonObject = new JSONObject();

    jsonObject.put("status", true);
    jsonObject.put("message", "Data is found");
    jsonObject.put("data", user);

    return jsonObject;
}

但我得到的反应是这样的

{
 "empty": false
}

共有1个答案

齐思淼
2023-03-14

您可以简单地返回具有这些属性的对象。例如,声明一个表示所需响应的新类:

public class UserResponse {
    private Boolean status;
    private String message;
    private List data;

    public UserResponse(){
    }

    // setters & getters
}

然后更改控制器:

@GetMapping("/users")
public UserResponse getAllUsers() {
    List<User> user = repository.findAll(); // get all users from db

    UserResponse userResponse = new UserResponse();

    userResponse.setStatus(true);
    userResponse.setMessage("Data is found");
    userResponse.setData(user);

    return userResponse;
}

对于您的方法的错误的深入解释,您可以查看以下答案

 类似资料:
  • 我想在下面返回JSON。 {“名字”:“杰基”} 新来的春靴在这里。1天大。有没有合适的方法可以做到这一点?

  • 我使用Guzzle发出一个异步请求,返回JSON。呼叫工作正常,响应正常,但是: 如果我回应- 我需要使用 JSON 来验证来自服务的响应。我该怎么做?我已经浏览了文档,但我显然错过了一些东西。 本质上类似于将json getbody输出分配给$json: 感谢任何帮助问候

  • 我想用响应替换http异常,也就是说,我使用我想返回的responseentity,例如409如果没有通过名称找到用户,509如果没有通过邮件找到用户,我可以确定responseentity中的错误号及其描述吗?如果有,可以举例说明吗?

  • 问题内容: 例如,此URL: 应该返回一个类型的响应。我有两个静态图片, 如果type为1,则应该返回,否则返回。在烧瓶中怎么做? 问题答案: 你使用类似 发送回或,具体取决于类型查询参数。有关更多信息,请参见函数和对象的文档。

  • 问题内容: 我正在构建RESTful API,并希望为开发人员提供选择以在JSON响应中返回哪些字段的选项。 这篇博客文章显示了几个API(Google,Facebook,LinkedIn)如何允许开发人员自定义响应的示例。这称为部分响应。 一个示例可能看起来像这样: 在上面的示例中,API应该返回用户“ 123”的userId,fullName和title字段。 我正在寻找有关如何在我的REST

  • 我正在尝试使用Go语言向我的(magento)网络服务器发出请求。 我设法发出了一个POST请求,但是,我没有得到与从cmd使用CURL时相同的响应。我关注了这篇文章(如何在Golang中获取JSON响应),它没有给我任何响应。 所以我试了这个 这只是像这样返回http响应 当使用< code > curl-g-X POST " my . dev/index . PHP/rest/V1/guest