如何自动化两个 java 类 之间的方法映射?
How to automate Methods mapping between two java classes?
我有一个遗留的 springMvc 项目,我想将所有控制器重构为 return ResponseEntity 对象,而不是 returning 模型对象,它是 returned默认情况下。
我正在寻找一种将 Map class 中的函数映射到 ResponseEntity class 的方法。
我看到有人推荐使用正则表达式作为重构所有方法的解决方案。
我需要了解您对在这种情况下使用 Regex 的优点/缺点实施 Regex 作为解决方案的看法。
此外,如果您能提出其他解决方案,将会有所帮助。
请查看附件代码了解更多详情。
return 模型对象到视图
@GetMapping("/getData")
public String getData(Model model) {
model.addAttribute("message", "springMvc");
return "viewPage";
}
return ResponseEntity 对象作为 json 格式
@GetMapping("/getData")
public ResponseEntity<Map<String,String>> getData() {
Map<String,String> map = new HashMap<>();
map.put("message", "springMvc");
return new ResponseEntity.Ok().body(map);
}
如果将来有人遇到这个问题,我想分享一下,我已经找到了一种使用 AST(抽象语法树)重构代码的便捷方法,它可以让您有更多的控制权与使用正则表达式相比的代码。
您可以查看库存储库:
请注意,IDE 和 SonarQube 等静态分析工具使用 AST
正则表达式不能在您的上下文中使用。肯定有太多特殊情况要更改,这不仅仅是更改字符串的问题。 JavaParser 是一个不错的选择。
我有一个遗留的 springMvc 项目,我想将所有控制器重构为 return ResponseEntity 对象,而不是 returning 模型对象,它是 returned默认情况下。
我正在寻找一种将 Map class 中的函数映射到 ResponseEntity class 的方法。
我看到有人推荐使用正则表达式作为重构所有方法的解决方案。
我需要了解您对在这种情况下使用 Regex 的优点/缺点实施 Regex 作为解决方案的看法。
此外,如果您能提出其他解决方案,将会有所帮助。
请查看附件代码了解更多详情。
return 模型对象到视图
@GetMapping("/getData")
public String getData(Model model) {
model.addAttribute("message", "springMvc");
return "viewPage";
}
return ResponseEntity 对象作为 json 格式
@GetMapping("/getData")
public ResponseEntity<Map<String,String>> getData() {
Map<String,String> map = new HashMap<>();
map.put("message", "springMvc");
return new ResponseEntity.Ok().body(map);
}
如果将来有人遇到这个问题,我想分享一下,我已经找到了一种使用 AST(抽象语法树)重构代码的便捷方法,它可以让您有更多的控制权与使用正则表达式相比的代码。
您可以查看库存储库:
请注意,IDE 和 SonarQube 等静态分析工具使用 AST
正则表达式不能在您的上下文中使用。肯定有太多特殊情况要更改,这不仅仅是更改字符串的问题。 JavaParser 是一个不错的选择。