微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何自动在两个Java类之间进行方法映射?

如何解决如何自动在两个Java类之间进行方法映射?

我有一个旧版springMvc项目,我想重构所有控制器以返回ResponseEntity对象,而不是返回认情况下返回的Model对象。

我正在寻找一种将Map类中的函数映射到ResponseEntity类的方法

我已经看到人们建议使用正则表达式作为重构所有方法解决方案。

就这种情况下使用正则表达式的优点/缺点,我需要了解您对将正则表达式作为解决方案实施的看法。

此外,如果您可以提出其他解决方案,也会有所帮助。

请查看附件代码以了解更多详细信息。

将模型对象返回到视图

@GetMapping("/getData")
    public String getData(Model model) {
       
        model.addAttribute("message","springMvc");
        
        return "viewPage";
    }

以json格式返回ResponseEntity对象

@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是一个很好的候选人。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。