响应实体类

1.响应实体类

  Controller层返回给前端的一个响应实体类:

  

package com.mmall.common;

import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.map.annotate.JsonSerialize;

import java.io.Serializable;

@JsonSerialize(include =  JsonSerialize.Inclusion.NON_NULL)
//保证序列化json的时候,如果是null的对象,key也会消失
public class ServerResponse<T> implements Serializable {

    private int status;
    private String msg;
    private T data;

    private ServerResponse(int status){
        this.status = status;
    }
    private ServerResponse(int status,T data){
        this.status = status;
        this.data = data;
    }

    private ServerResponse(int status,String msg,T data){
        this.status = status;
        this.msg = msg;
        this.data = data;
    }

    private ServerResponse(int status,String msg){
        this.status = status;
        this.msg = msg;
    }

    @JsonIgnore
    //使之不在json序列化结果当中
    public boolean isSuccess(){
        return this.status == ResponseCode.SUCCESS.getCode();
    }

    public int getStatus(){
        return status;
    }
    public T getData(){
        return data;
    }
    public String getMsg(){
        return msg;
    }

    public static <T> ServerResponse<T> createBySuccess(){
        return new ServerResponse<T>(ResponseCode.SUCCESS.getCode());
    }

    public static <T> ServerResponse<T> createBySuccessMessage(String msg){
        return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),msg);
    }

    public static <T> ServerResponse<T> createBySuccess(T data){
        return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),data);
    }

    public static <T> ServerResponse<T> createBySuccess(String msg,T data){
        return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),msg,data);
    }

    public static <T> ServerResponse<T> createByError(){
        return new ServerResponse<T>(ResponseCode.ERROR.getCode(),ResponseCode.ERROR.getDesc());
    }

    public static <T> ServerResponse<T> createByErrorMessage(String errorMessage){
        return new ServerResponse<T>(ResponseCode.ERROR.getCode(),errorMessage);
    }

    public static <T> ServerResponse<T> createByErrorCodeMessage(int errorCode,String errorMessage){
        return new ServerResponse<T>(errorCode,errorMessage);
    }

}
时间: 2024-10-05 18:06:49

响应实体类的相关文章

WebApi学习笔记04:使用webapi模板--实体类--状态码--视图

1.Web项目 1.1概述 上一例子,我们”折腾“操作的是字符串,显然它不常用.这次我们玩一下实体类,毕竟面向对象开发是需要实体类来存储和传输数据的. 1.2创建项目 和上一例子创建项目一样: 1.3添加实体类 在Models文件夹下,添加Product.cs类,其代码: namespace WebApi04.Models { public class Product { public int ID { get; set; } public string Name { get; set; } p

C# 实体类

3.1      使用实体类构建三层结构概述   在上一章中的三层架构中,我们使用DataSet来进行数据的传递,但在OOP的开发中,有很大的局限性: 1.   DataSet不具备良好的面向对象特性,使用起来不够直观.方便. 2.   对DataSet中的数据进行查找时容易出错.例如:我们要查询DataSet中学员信息DataTable中的某个值时,必须指定行索引与列名,这只是一个简单的查询,如果稍微复杂就需要遍历所有的行集. 3.   由于DataSet的核心结构与数据库的核心结构完全相同,

Mybatis配置文件和实体类的映射文件,以及dao层的书写

mybatis-config.xml,配置文件,用于连接数据库.底层使用的是oracle数据库的emp表 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 3 "http://mybatis.org/dtd/mybatis-3-config.dtd&

C#之三十七 实体类

3.1      使用实体类构建三层结构概述   在上一章中的三层架构中,我们使用DataSet来进行数据的传递,但在OOP的开发中,有很大的局限性: 1.   DataSet不具备良好的面向对象特性,使用起来不够直观.方便. 2.   对DataSet中的数据进行查找时容易出错.例如:我们要查询DataSet中学员信息DataTable中的某个值时,必须指定行索引与列名,这只是一个简单的查询,如果稍微复杂就需要遍历所有的行集. 3.   由于DataSet的核心结构与数据库的核心结构完全相同,

httpclient获取响应实体和信息的封装方法(解耦更新)

转自:https://blog.csdn.net/fhaohaizi/article/details/77850302 2018年07月19日更新,主要是解耦之后方法很多地方发生了变化,httpclient用了连接池方式,作为一个静态变量处理,请求头和响应头以及cookies设置都有了相关处理方法,本来这个方法已经快超过100行了,解耦之后分成了几个小方法,方便修改和调试.分两部分,一部分是框架,只做了公共处理,另外一部分是每个项目的base类需要重新实现一些这个方法来处理header信息以及需

C++数据库实体类自动生成代码模块总结

M系统的关于位置管理服务,一直想抽出来做一个独立健壮的模块. 但C++下没有合适的数据库实体类,或者响应的代码生成工具. 找到一个生成C#的工具,照着生成出来的代码,国庆前写了一个entity代码生成类,主要功能是查询mysql information_schema表下的数据表结构,去生成增删查改的功能,实体类还附带加入了数据缓存. 其实这个homemake数据库实体类,就是DB+MemCache,真实的数据放在DB里,被提前申请的数据用内存来保存. 外部可以根据需要,查询真实数据,或者是内存缓

Entity Framework 6 Code First 实践系列(1):实体类配置总结

EF实体类的配置可以使用 数据注释或 Fluent API两种方式配置,Fluent API 配置的关键在于搞清实体类的依赖关系,按此方法配置,快速高效合理.为了方便理解,我们使用简化的实体A和B以及A.B的配置类AMap和BMap,来演示如何正确配置实体类关系的过程. public class A { public int Id { get; set; } } public class B { public int Id { get; set; } } public class AMap :

重要!!!实体类、数据访问类

创建两个类: users类: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 实体类_数据访问类.App_Code { public class Users { private int _Ids; /// <summary> /// ids /// </summary> public int Ids { get { return _Ids;

利用SharePrefrence和Gson实现实体类的保存与获取

实现需要Gson获者其他能将实体类转换成json的jar包 接下来是主要方法: 保存实体类 public static  void putClass(ModelBase model){//需要实体类继承一个基类           String key=model.getClass().getName();           String value=new Gson().toJson(model);           putString(key, value);       }   获取实