spring swagger2 返回类型为 泛型 时的描述

原因:

       公司规范规定 返回值仅传输当前页面需要的,不允许传输不需要的属性(例:用户对象一共20个字段,用户详情接口仅需6个)

 

先贴结果

spring swagger2 返回类型为 泛型 时的描述_第1张图片

spring swagger2 返回类型为 泛型 时的描述_第2张图片

 

 

再贴代码 

公共返回对象

@ApiModel(value="ReQueryResult对象",description="公共返回对象ReQueryResult")
@JsonInclude(JsonInclude.Include.NON_NULL)
@Data
public class ReQueryResult {
    /**
     * 登录结果码,000表示成功,非000表示失败
     */
    @ApiModelProperty(value = "返回码")
    private String resultCode;
    /**
     * 登录结果码描述信息
     */
    @ApiModelProperty(value = "描述")
    private String resultDesc;
    //业务数据
    @ApiModelProperty(value = "数据")
    private Object data;

    @ApiModelProperty(value = "对象")
    private T resultObj;

    @ApiModelProperty(value = "总页数")
    private Integer recordsTotal;
//    @ApiModelProperty(value = "")
//    private Integer recordsFiltered;

    @ApiModelProperty(value = "是否需要更新")
    private Integer isUpdateToken;

    private String token;


    public void success(String msg){
        resultCode = TYPE_ZERO_ZERO_STR;
        resultDesc = msg;
    }

    public void error(String msg){
        resultCode = TYPE_ONE_HUNDRED_STR;
        resultDesc=msg;
    }

    public void loginError(String msg){
        resultCode = TYPE_ONE_HUNDRED_TWO_STR;
        resultDesc=msg;
    }

    //结果码
    public static final String TYPE_ZERO_ZERO_STR="000"; //成功
    public static final String TYPE_ONE_HUNDRED_STR="100"; // 失败
    public static final String TYPE_ONE_HUNDRED_ONE_STR="101";//
    public static final String TYPE_ONE_HUNDRED_TWO_STR="102";//登录失败
    public static final String TYPE_ONE_HUNDRED_THREE_STR="103";//未注册
    public static final String TYPE_ONE_HUNDRED_FOUR_STR="104";//验证码登录 未注册
    public static final String TYPE_ONE_HUNDRED_FIVE_STR="105";//是否确认发布项目
    public static final String TYPE_ONE_HUNDRED_SIX_STR="106";//未设置支付密码
    public static final String TYPE_ONE_HUNDRED_SEVEN_STR="107";//ios登录失败

}

其中  关键代码  @JsonInclude(JsonInclude.Include.NON_NULL) 

                          ReQueryResult               private T resultObj;

 

controller层

@CoerceLoginAop
@ApiOperation(value = "获取会员信息")
@RequestMapping(value = "", method = RequestMethod.GET)
    public ReQueryResult getInformation(HttpServletRequest request,@ApiIgnore()MemberInfo memberInfo){
        result=new ReQueryResult();
    MemberInfo info = mis.getById(memberInfo.getId());
    info.setPassword("");
    result.setData(info);
    result.success(SUCCESS_DESC);
    return  result;
}

其中  关键代码 public  ReQueryResult 

 

 

jackson处理返回的序列化 参考: https://blog.csdn.net/qq_22771739/article/details/89949137

 swagger2 参考 :java 泛型

 

 

 

你可能感兴趣的:(java工具类,swagger2,spring)