将 RestTemplate 响应转换为新格式SpringBoot:正确的方法是什么?

问题描述

我正在使用外部/第三方 API,并且我在 SpringBoot 应用程序中创建了一个端点,该端点当前通过 Spring REST API (RestTemplate) 返回其响应。我的最终目标是重新构建响应结构,为此我创建了实体和具有预期格式的新 Dto。

我不确定何时采用正确的方法将现有的第三方 API 响应转换为自定义响应。你能就此提出建议吗?我应该写一个 dto 到 dto 转换器吗?有什么我可以遵循的例子吗?这种转换会成为服务的一部分吗?非常感谢任何建议。

谢谢

解决方法

答案是: 这取决于

这取决于您想要返回的内容以及返回您的第 3 方网站的内容。让我们假设两者都是 jsons,所以最好的方法是创建两个 dtos。映射取决于您希望如何处理该数据。

有几个映射库,您可以使用其中之一 (read here)

如果您不想使用映射库,您可以考虑为 dtos 编写构建器,并且您可以编写自己的 Mapper util 类:

公共映射器{

public static SecondDto mapDto(FirstDto firstDto) {
    return SecondDto
            .firstParam(firstDto.getFirstParam())
            .secondParam(firstDto.getSecondParam())
            .build();
}

}