gpt4 book ai didi

java - @XmlElement 有多个名称

转载 作者:行者123 更新时间:2023-11-29 07:01:52 28 4
gpt4 key购买 nike

我这里有一个情况,试图充当两个 API 之间的网关。我需要做的是:

  1. 向 APIa 提出请求;
  2. 将 XML 响应解析(编码)为 java 对象;
  3. 稍作改动;
  4. 然后以 XML 格式(解码)向另一端 (APIb) 提供响应。

问题是我使用同一个对象来解析 API 响应并将响应发送到另一端。

public class ResponseAPI{

@XmlElement(name="ResponseCode") //I receive <ResponseCode> but I need to send <ResultCode>
private String responseCode;

//getter and setter
}

正如评论所说:我收到但我需要发送

有没有办法在不必创建另一个带有 ResultCode 的额外类的情况下完成此操作?

提前致谢!

最佳答案

您可以使用 @XmlElements 尝试下一个解决方案注释

@XmlAccessorType(XmlAccessType.FIELD)
public class ResponseAPI
{
@XmlElements(
{
@XmlElement(name = "ResponseCode"),
@XmlElement(name = "ResultCode")
})
private String responseCode;
// ...
}

在这种情况下,ResponseCodeResultCode 都将在解码(xml -> object)期间使用,而仅 ResultCode 在编码(object -> XML)。

所以你可以像这样解码 XML

<responseAPI>
<ResponseCode>404</ResponseCode>
</responseAPI>

编码后对象看起来像

<responseAPI>
<ResultCode>404</ResultCode>
</responseAPI>

关于java - @XmlElement 有多个名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24554789/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com