java - 如何在 Spring 中创建动态 DTO 而无需发送完整的 Payload

标签 java spring rest spring-boot dto

我的 Spring Controller 中有 updateProvider(ProviderUpdateDtoproviderUpdt) 方法,但我认为不需要发送提供者实体的整个有效负载,例如客户端只能更新name或其他属性,即如果只需要更新某个字段,则不需要发送整个实体,这会在不需要时产生过多的带宽消耗。

仅发送要更新的字段并能够动态构建 DTO 的更好做法是什么?如果我使用 Spring Boot,我会怎么做?构建我的 API?

最佳答案

您可以使用 Jackson 库,它提供注释 @JsonInclude(Include.NON_NULL) ,只有具有非空值的属性才会传递给您的客户端。 检查链接http://www.baeldung.com/jackson-ignore-null-fields举个例子。

关于java - 如何在 Spring 中创建动态 DTO 而无需发送完整的 Payload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49957033/

相关文章:

java - Spring:默认选择bean

rest - 实现 Stripe 后端 - 在本地存储数据或依赖 API 调用的最佳实践?

rest - 如何在 RESTful Web 服务中指定一系列数据或多个实体

java - Spring environment.getProperty 无法解析

c# - 使用 REST 为带有图像的复杂对象提供服务

java - 我如何使用 REGEX 来解析逗号和换行符

Java 8 流 - 嵌套映射上的过滤器和重建

java - 如何在 tomcat9 中禁用 host-manager.logs?

java - JPA - PersistenceUtil.isLoaded - 它加载到哪个EntityManager中?

java - 测试时在 spring boot 中禁用 Redis AutoConfig