【发布时间】:2021-06-15 18:07:35
【问题描述】:
我已将此方法设置为从 Spring Boot 休息控制器返回响应:
public ResponseEntity<Map<String, Object>> get(@PathVariable("id") long id) {
try {
return new ResponseEntity<>(this.ReportDAO.read("dbuser1"), HttpStatus.OK);
} catch (Exception e) {
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
这是DAO方法:
@Autowired
private JdbcTemplate jdbcTemplate;
public Map<String, Object> read(String testParam) {
List<SqlParameter> parameters = Arrays.asList(new SqlParameter(Types.NVARCHAR));
CallableStatementCreator csc = new CallableStatementCreator() {
@Override
public CallableStatement createCallableStatement(Connection con) throws SQLException {
CallableStatement cs = con.prepareCall("{call test (?)}");
cs.setString(1, testParam);
return cs;
}
};
return jdbcTemplate.call(csc, parameters);
}
我成功地将一个 json 对象作为响应,但格式如下:
#result-set-1: [ {…}, {…} ]
虽然我期待:
[ {…}, {…} ]
为什么将结果集插入#result-set-1 键?如何修改此行为?
【问题讨论】:
标签: spring spring-boot spring-restcontroller