为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

拉丁的传说 2019-03-01 10:48:35
比如一个SSM框架的项目,dao层和service层的方法,输入参数和返回结果一般要不要封装成对象呢? 我之前都是用 Map<String, Object> 这种表示输入和输出的,感觉非常方便,但是在网上看到很多说这样不规范,要用面向对象的思维,封装 dto 什么的。。。。。 所以我现在也比较疑惑,到底怎样比较规范一点,合理一点?
查看完整描述

8 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

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

查看完整回答
反对 回复 2019-03-01
?
万千封印

TA贡献1891条经验 获得超3个赞

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

查看完整回答
反对 回复 2019-03-01
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

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

查看完整回答
反对 回复 2019-03-01
?
忽然笑

TA贡献1806条经验 获得超5个赞

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

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

查看完整回答
反对 回复 2019-03-01
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

用josnobject方便快捷

查看完整回答
反对 回复 2019-03-01
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

我是这样处理的

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;
    }

}
查看完整回答
反对 回复 2019-03-01
?
波斯汪

TA贡献1811条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-03-01
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

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

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

查看完整回答
反对 回复 2019-03-01
  • 8 回答
  • 0 关注
  • 1112 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信