春季启动 JSON 响应

Posted

技术标签:

【中文标题】春季启动 JSON 响应【英文标题】:Spring boot JSON response 【发布时间】:2017-06-19 20:42:43 【问题描述】:

这是我的代码

@RequestMapping("/bookList") 
public List<Books> list() 
    return bookService.booksList();


public class Books 
   private String author;
   private String isbn;
   private String title;

当前响应

[["TOM",123456,"ABC"],["JANE",789000,"CDE"]]

预期响应

"Books": [
    "author": "TOM", "isbn": "123456", "title": "ABC",
    "author": "JANE", "isbn": "789000", "title": "CDE"
]

我需要进行哪些代码更改?

【问题讨论】:

【参考方案1】:

您的List&lt;Books&gt; 正确返回为 JSON。您的选择是将其包装到另一个对象中:

public class BookList 
    public List<Books> books;

并返回BookList而不是List&lt;Books&gt;

但老实说,我不建议您这样做。这不是很安静。

【讨论】:

请遵循提问指南并编辑您的问题,如果是新主题,请创建一个新问题并查看格式化问题和代码。【参考方案2】:

session.createQuery 返回 Object[]。我在 DAOIMPL 类中使用了 Criteria 查询和投影,得到了预期的输出。

【讨论】:

以上是关于春季启动 JSON 响应的主要内容,如果未能解决你的问题,请参考以下文章

如何仅将 JSON 请求正文的几个字段从 DTO 发布到 URL 春季启动

春季启动CORS配置

在春季使用多对一映射时获得无限的Json响应[重复]

春季内部异常的自定义json响应

IndexOutOfBoundsException 春季批处理和春季启动

春季启动启动器graphql不工作