java如何配置ModelMapper,使其在内部值为null时不设置someClass=null(someClass是嵌套的)
第一次在这里发帖(我希望你能理解我的问题和我的英语)
我想知道当里面的值为null(在嵌套类中)时,是否有方法“告诉”ModelMapper不要设置someClass=null
我的问题是,当我打电话给我的控制器时,我希望得到这样的回应:
{
"order": {
"orderNumber": "123",
"orderSize": "10cm",
"orderDescription": "Some order",
"orderClient": {
"firstName": null,
"lastName": null
}
}
}
但我有一个:
{
"order": {
"orderNumber": "123",
"orderSize": "10cm",
"orderDescription": "Some order",
"orderClient": null
}
}
我的例子
我在一个模型中有两个类:
class Order {
private String number;
private String size;
private String description;
private Client client;
//getters and setters
}
class Client{
private String firstName;
private String lastName;
//getters and setters
}
我有两个dto课程:
class OrderDTO {
private String orderNumber;
private String orderSize;
private String orderDescription;
private Client orderClient;
//getters and setter
}
class ClientDTO {
private String firstName;
private String lastName;
//getters and setters
}
我使用ModelMapper以以下方式(在方法中)映射这些类:
Order order = someDao.getOrderByNumber(1234);
OrderDto orderDto = modelMapper.map(order, OrderDto.class);
The method someDao.getOrderByNumber execute a query and use a rowMapper to set the values from the ResultSet to the Order class variables (and in the nested one).
Like this:
order = jdbcTemplate.queryForObject(query, new OrderMapper(), orderNumber);
***The firstName and lastName are null in the DB.
当firstName和lastName为null时,ModelMapper将my ClientDto设置为null
映射后OrderDto的输出:“OrderDto(orderNumber=123,orderSize=10cm,orderDescription=Some order,orderClient=null)”
提前谢谢
共 (0) 个答案