gpt4 book ai didi

java - 使用 Spring Restful Web 服务的 json 进行回复

转载 作者:行者123 更新时间:2023-12-02 05:52:59 25 4
gpt4 key购买 nike

我有一个 Spring MVC Restful Web 服务,它会回复所有产品的列表。

目前,我将所有数据返回到 Bean 列表中。

List<ProdBean> results = jdbcTemplate.query("select * from Prods",
new RowMapper<ProdBean>() {
@Override
public ProdBean mapRow(ResultSet rs, int rowNum) throws SQLException {
ProdBean gb = new ProdBean();
gb.setProdId(rs.getInt("ProdId"));
gb.setProdName(rs.getInt("ProdName"));
// Few more params
return gb;
}
});

return results; //I want to convert this to a json object.

如何转换 List<ProdBean> results创建一个json对象并将其用作返回参数?

类似 -

[{"prodId":1, "prodName":"A"}, {"prodId":2, "prodName":"B"}, ... ]

这可以使用一些注释来完成吗?

最佳答案

使用@ResponseBody注释。返回值将转换为 JSON(默认使用 Jackson)。

@Controller
@RequestMapping("/foo")
public class JSONController {

/**
* This method will return [{"prodId":1, "prodName":"A"}, {"prodId":2, "prodName":"B"}, ... ]
*/
@ResponseBody
@RequestMapping(value="/bar", method = RequestMethod.GET)
public List<ProdBean> getJson() {
List<ProdBean> results = ...
return results;
}
}

如果您使用的是 Spring 4,则可以使用新的 @RestController注释并删除了方法上的 @ResponseBody 注释。

更新

您必须在类路径中包含这些 .jar

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.2.2</version>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.2.2</version>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.2.2</version>
</dependency>

关于java - 使用 Spring Restful Web 服务的 json 进行回复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23373345/

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