问题描述
我正在使用外部/第三方 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();
}
}