繁体   English   中英

Java Spring Boot REST API **How to name the array of objects in HTTP json response?

[英]Java Spring Boot REST API **How to name the array of objects in HTTP json response?

这可能是一个愚蠢的问题,但我在查看 java REST API 的文档时找不到答案。 我的问题是我想命名 REST 数组 JSON api 响应并用名称格式化它。

例如,下面是从我的后端提取的 REST API 的响应。

当前 API 响应

 [
{
    "categoryName": "Hardware",
    "categoryId": 1
},
{
    "categoryName": "Software",
    "categoryId": 2
}
]

所需的 API 响应

"categories": [
{
    "categoryName": "Hardware",
    "categoryId": 1
},
{
    "categoryName": "Software",
    "categoryId": 2
}
]

controller

@RequestMapping(method = RequestMethod.GET,)
@ResponseBody
public List<Category>findAllCategories() {
    return categoryRepository.findAll();
}

model

private String categoryName;
private int categoryId;
**getters/setters**

你需要这样做:

@RequestMapping(method = RequestMethod.GET,)
@ResponseBody
public CategoriesResponse findAllCategories() {
    return new CategoriesResponse(categoryRepository.findAll());
}



private class CategoriesResponse() {

    private List<Category> categories;
    
    CategoriesResponse(List<Category> categories) {
        this.categories = categories;
    }
    
    /* getters and setters */

}

如果您有任何疑问,您可以使用 JSON 到这样的 POJO 转换器将 JSON 转换为 Java 类。 另一种选择是构建您自己的序列化程序,但对于这种情况,这可能是一种矫枉过正。

你好你应该做的是以下

创建一个 vo class

private String categoryName;
private int categoryId;
**getters/setters**

另一个包含上一个 vo 的列表

private List<Vo> categories;
**getters/setters**

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM