gpt4 book ai didi

java - 我正在编写一个 Controller 来列出 Spring Boot Web Flux 中的员工 ID 和姓名。但也在列表 Controller 中获取 float 值

转载 作者:行者123 更新时间:2023-11-30 05:21:58 26 4
gpt4 key购买 nike

我使用 JDBC 模板从数据库中检索详细信息,并且数据库中有一个浮点值为 0.0 的字段。我期望只有员工姓名和 ID 与此获取请求,但不确定为什么我也在 Controller 中获取此浮点值。

请帮我解决这个问题。谢谢!

 public Flux<Emplotee> getAllEmployeeIdsAndName() {

List<Employee> allEmployee = jdbcTemplate.query(Queries.GET_ALL_EMPLOYEE_IDS_NAME, new RowMapper<Employee>() {
@Override
public Employee mapRow(ResultSet resultSet, int i) throws SQLException {
Employee employee = new Employee();
employee.setId(resultSet.getString("employee_id"));
employee.setName(resultSet.getString("employee_name"));
return employee;
}
});
return Flux.fromIterable(allEmployee);
}

使用的查询:

        private static final String GET_ALL_EMPLOYEE_IDS_NAME = "select  employee_id , employee_name from employee";

我想从列表中排除该分数值。

 {
"score": 0.0,
"employee_name": "John doe",
"employee_id": "97e3-f566c43cac3e"
}

公共(public)类员工{

   @JsonProperty("id")
private String employee_id;
private String employee_name;
private float score;
public String getId() {
return id;
}
public void setEmployeeId(String employee_id) {
this.id = id;
}
public String getName() {
return name;
}
public void setEmployeeName(String employeeName) {
this.name = name;
}
public float getScore() {
return score;
}
public void setScore(float score) {
this.score = score;
}

}

最佳答案

您可以在Employee类中使用原始float。 float 的默认值为0.0f使用 float 的包装类,即 FloatFloat 的默认值为 null。所以你会得到如下响应

   {
"score": null,
"employee_name": "John doe",
"employee_id": "97e3-f566c43cac3e"
}

注意:如果你确实想忽略该属性,那么你可以使用@JsonIgnore注解。@JsonIgnore用于忽略序列化中使用的逻辑属性和反序列化。 @JsonIgnore 可用于 setter、getter 或 field。

public class Employee {
@JsonProperty("id")
private String id;
private String name;

@JsonIgnore
private Float score;
public String getId() {
return id;
}
public void setEmployeeId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setEmployeeName(String name) {
this.name = name;
}
public Float getScore() {
return score;
}
public void setScore(Float score) {
this.score = score;
}
}

关于java - 我正在编写一个 Controller 来列出 Spring Boot Web Flux 中的员工 ID 和姓名。但也在列表 Controller 中获取 float 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59419893/

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