【问题标题】:How to use hashmap to return multi valued parameter in rest api如何使用hashmap在rest api中返回多值参数
【发布时间】:2020-03-30 19:55:13
【问题描述】:

我正在尝试在请求参数中传递多值参数并期望结果如下。我在控制器中使用@RequestParam List<String> 来返回多值参数,但我试图弄清楚如何在响应中返回员工详细信息列表,如下所示。

Http 请求:/list/id?employee_ids=E123,E765

我收到以下回复:

{
  "Employees": [
    {
      "EmployeeID": "E123,E765",
      "EmployeeName": "John"
    }

预期结果:

{
  "Employees": [
    {
      "EmploeeId": "E123",
      "EmployeeName": "John"
    },
    {
      "EmploeeId": "E765",
      "EmployeeName": "Peter"
    }
 ]
}

波乔:

    private String employeeId;

    private String employeeName; 

服务:

当一个员工ID列表被传递时,我应该得到员工ID和姓名

'Employee 表包含:EmployeeId 和 EmployeeName 作为列'

控制器:

       @GetMapping(value = "/id")
         public ResponseEntity<EmployeeResponse> getEmployee(@RequestParam List<String> employee_ids , @RequestHeader Map<String, Object> headers) {
         log.info("Received request with headers: {}", headers);
         ResponseEntity<EmployeeResponse> response = ResponseEntity.ok(getEmployee.employees(employee_ids
));
         log.info("Responding to request with response: {}", response);
         return response;

【问题讨论】:

  • 如果我理解正确,您只需询问如何将您的 spring-boot 应用程序与数据库集成。我建议检查 Spring Data 项目。它有很好的文档,只需要很少的代码。
  • @kkotula,我已经改写了我的问题,当请求参数为 , 分隔时,我想在列表中返回多个员工。我该如何退货?并且响应应该是 JSON 格式。请帮忙!
  • 添加这个方法也是有问题的 (getEmployee.employees(employee_ids)) - 它与你的 DAO 层有关

标签: java spring-boot rest api hashmap


【解决方案1】:

以下是我如何在路由中使用哈希图的示例:

    Map<String, Object> pdata = new HashMap();
    pdata.put("schedules", schedSVC.getSchedules());
    pdata.put("webuser", userSVC.getActiveUser());

【讨论】:

    【解决方案2】:

    如果您使用的是 JdbcTemplate 使用 NamedParameterJdbcTemplate 对象 那么你有方法 NamedParameterJdbcTemplate.queryForList(query, params); 只需要添加带有相关列表的查询

    【讨论】:

      猜你喜欢
      • 2018-08-11
      • 1970-01-01
      • 2023-03-17
      • 2019-11-26
      • 2018-10-02
      • 1970-01-01
      • 2018-11-07
      • 2015-08-18
      • 1970-01-01
      相关资源
      最近更新 更多