【问题标题】:Extracting an entity from a Java List which is in Request Body从请求正文中的 Java 列表中提取实体
【发布时间】:2020-11-21 09:20:26
【问题描述】:

我有以下方法。

@PostMapping(value = Constants.EMPLOYEE_INSERT,produces = MediaType.APPLICATION_JSON_VALUE)
public String employeeInsert(@RequestHeader(ConstantsValue.ID) @NotBlank final String id,
        @RequestBody final List<EmployeeData> empData) {
    
    
    if (empData != null) {
        final List<EmployeeData> insertedData = this.employeeService.insertEmployeeData(empData, id);
        if (insertedData != null) {
            
            final List<EmployeeData> employeeDataAfterInsertion =
                           this.employeeService.getEmployeeData(employeeId);
            if (employeeDataAfterInsertion != null) {
                return new Gson().toJson(employeeDataAfterInsertion);
            } else {
                throw new EUCCustomException(empConstants.NO_EMPLOYEE_DATA);
            }
            
        } else {
            throw new EUCCustomException(empConstants.EMPLOYEE_INSERT_ERROR_DATA);
        }

    } else {
        throw new EUCCustomException(empConstants.EMPLOYEE_MISSING_HEADER_DATA);
    }

}

在请求中,我有一个列表 empData,其中包含来自 UI 的数据。如何提取此 empData 以便我可以在 getEmployeeData 方法中传递employeeId。

【问题讨论】:

    标签: java json soapui


    【解决方案1】:

    EmployeeData 应该包含 1 个员工数据,如果 empData 是一个 EmployeeData 列表,则它包含多个员工数据。

    您应该弄清楚您要抓住哪个员工,而不是使用该 ID。 如果你想要第一个,你可以把它用作:

      insertedData[0].getEmployeeId() 
    

    getEmployeeId 方法应该存在于您的 EmployeeData 类中。

    【讨论】:

      【解决方案2】:

      empData 不为空吗?我的意思是,您确定 empData 在其中具有价值,不是吗?

      使用foreach获取每个EmployeeData

      的值 对于(员工数据员工数据:empData){ ... 最终列表 employeeDataAfterInsertion = this.employeeService.getEmployeeData(employeeData.getEmployeeId()); // 确保在 EmployeeData 类中设置了 getEmployeeId() 的 getter ... }

      【讨论】:

      • 谢谢 garninth 我已经尝试过了,但编译器要求返回,即使我的函数中有返回
      猜你喜欢
      • 1970-01-01
      • 2018-11-26
      • 2012-09-14
      • 2016-03-12
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多