java - 如何将响应对象的字符串参数设置为空?
问题描述
我想返回我的响应对象的字符串参数为空,但我得到了空字符串。如何在响应对象中将字符串参数设置为 null?
谢谢你。
模型:
public class UserDto {
Long id;
String firstname;
String lastname;
//getter,setters
}
服务:
{
UserDto userDto = new UserDto();
userDto.setId(null);
userDto.setFirstname(null);
userDto.setLastname(null);
return userDto;
}
回复:
{
"id": null,
"firstName": "",
"lastName": "",
}
解决方案
如果您使用的是杰克逊,您可以创建一个 NullStringSerializer
public class NullStringSerializer extends JsonSerializer<String> {
@Override
public void serialize(String value, JsonGenerator g, SerializerProvider provider) throws IOException, JsonProcessingException {
g.writeNull();
}
}
并将其添加到您的 ObjectMapper
ObjectMapper mapper = new ObjectMapper();
SimpleModule module = new SimpleModule();
module.addSerializer(String.class, new NullStringSerializer());
mapper.registerModule(module);
推荐阅读
- sql - SQL如何选择浏览次数最多的产品
- postgresql - 如果在连接语句中不使用主表/键有任何缺点
- node.js - 使用 nodeJS 向 mongoose 模型 mongoDB 添加密钥
- google-api - 每天通过 youtube api 发送的视频限制
- python-3.x - Simpy 请求特定资源
- html-table - 背景颜色 mailchimp
- node.js - 如何在没有 OAuth 的情况下仅使用 API 密钥存储联系人?
- python - odoo 更改图形的默认类型
- java - 将 swing 组件添加到 javafx 选项卡中
- c# - system.drawing.image 中的“System.OutOfMemoryException”