gpt4 book ai didi

java - 如何安全地重构(例如重命名字段)JAX-RS Web 服务调用中返回的 DTO 类?

转载 作者:行者123 更新时间:2023-11-30 11:30:47 29 4
gpt4 key购买 nike

在重构 IssueDTO(用作下面返回列表中的元素类型)后,我偶然发现了以下问题:

  • 生成的 JSON 响应更改了字典键(键用作我们的 selenium 测试中的字符串,因此重构破坏了测试)
  • jsf 页面使用字段名(或转换后的名称)访问 IssueDTO 对象以 javabean 命名的方法,我不确定)但访问是文本的,不是“打字”

@GET
@Path("/issues/{" + LOCALE_PARAM + "}")
@Produces(MediaType.APPLICATION_JSON)
public List<IssueDTO> getSlides(@PathParam(LOCALE_PARAM) final String locale) {
final Locale currentLocale = (locale == null) ?
Locale.getDefault() : new Locale(locale);
return issues.getIssuesInLocale(currentLocale);
}

我如何确定我的重构既不会破坏测试也不会破坏 jsf 页面?是否有任何注释我可以应用于 IssueDTO 字段,以便“卡住”它们的名称,即将 java 代码名称与非静态类型的 javaee 特定上下文使用的代码名称分离?

最佳答案

假设一个普通的 JavaEE 应用程序(即带有用于 JSON 生成的 JAXB 注释的 JAX-RS),您可以使用 @XmlElement(name = "fixedName") 将实际属性名称与其属性名称分离XML AND JSON 表示。

关于java - 如何安全地重构(例如重命名字段)JAX-RS Web 服务调用中返回的 DTO 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17588805/

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