在重构 IssueDTO(用作下面返回列表中的元素类型)后,我偶然发现了以下问题:
- 生成的 JSON 响应已更改字典键(键在我们的 selenium 测试中用作字符串,因此重构破坏了测试)
- jsf 页面使用字段名称(或转换为 javabeans 命名方法的名称,我不确定)访问 IssueDTO 对象,但访问是文本的,而不是“键入的”
@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 特定上下文使用的代码名称分离?