实际java项目里,方法的返回是怎么封装的呢?

发布于 2022-09-05 04:47:49 字数 208 浏览 18 评论 0

比如一个SSM框架的项目,dao层和service层的方法,输入参数和返回结果一般要不要封装成对象呢?

我之前都是用 Map<String, Object> 这种表示输入和输出的,感觉非常方便,但是在网上看到很多说这样不规范,要用面向对象的思维,封装 dto 什么的。。。。。

所以我现在也比较疑惑,到底怎样比较规范一点,合理一点?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

长不大的小祸害 2022-09-12 04:47:50

看业务需要和项目繁杂度,如果想用Map返回,必要时可以写好注释。一般都会结合两种方式使用

沧桑㈠ 2022-09-12 04:47:50

图片描述
我现在的项目,比如说dto是存放前端传过来数据的对象,vo是存放后台返回给前台的对象,modal是单纯的数据库表对应的对象,enums是软编码的存了一些常量

擦肩而过的背影 2022-09-12 04:47:50

JAVA的话参数和返回值还是对象居多,但是其他格式比如map又或者其他字符串也是可以的,具体看逻辑和需求

素食主义者 2022-09-12 04:47:50

现在用的平台,返回对象统一为ReturnObject:
status:boolean,指示本次查询是否成功;
data:Map<String,Object>或List<Map<String,Object>>,数据;
datax:数据数目

淡看悲欢离合 2022-09-12 04:47:50

没有绝对的规范,视项目规范和需求而定。

另外Map也是对象!,虽然大多数会用POJO来封装参数或封装结果。

毁我热情 2022-09-12 04:47:50

用josnobject方便快捷

安人多梦 2022-09-12 04:47:50

我是这样处理的

public class Result<T> {
    /**
     * 状态码.
     */
    private Integer code;
    /**
     * 提示信息
     */
    private String msg;
    /**
     * 具体内容
     */
    private T data;

    /**
     * @return the code
     */
    public Integer getCode() {
        return code;
    }

    /**
     * @param code
     *            the code to set
     */
    public void setCode(Integer code) {
        this.code = code;
    }

    /**
     * @return the msg
     */
    public String getMsg() {
        return msg;
    }

    /**
     * @param msg
     *            the msg to set
     */
    public void setMsg(String msg) {
        this.msg = msg;
    }

    /**
     * @return the data
     */
    public T getData() {
        return data;
    }

    /**
     * @param data
     *            the data to set
     */
    public void setData(T data) {
        this.data = data;
    }

}
一抹微笑 2022-09-12 04:47:50

感觉封装下会比较好,在返回结果上加个状态码可以省很多事.

青芜 2022-09-12 04:47:50

对外系统的话,封装一个Response,里面有code,描述,结果。

系统内部的话,直接返回响应的对象,一般不会再用Response包一层。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文