直接上代码:
package com.itheima2;
public class Cat {
private String name;
private String gender;
private String color;
private String variety; // 品种
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getVariety() {
return variety;
}
public void setVariety(String variety) {
this.variety = variety;
}
}
package com.itheima2;
public class Dog {
private String name;
private String gender;
private String color;
private String variety; // 品种
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getVariety() {
return variety;
}
public void setVariety(String variety) {
this.variety = variety;
}
}
package com.itheima2;
public class Animal {
private Dog dog;
private Cat cat;
public Dog getDog() {
return dog;
}
public void setDog(Dog dog) {
this.dog = dog;
}
public Cat getCat() {
return cat;
}
public void setCat(Cat cat) {
this.cat = cat;
}
}
测试返回输出:
package com.itheima2;
public class TestDemo {
public static void main(String[] args) {
Animal a = AnimalTest();
System.out.println(a.getCat().getColor());
System.out.println(a.getCat().getGender());
System.out.println(a.getCat().getName());
}
private static Animal AnimalTest() {
Animal animal = new Animal();
Dog dog = new Dog();
Cat cat = new Cat();
dog.setColor("土黄色");
dog.setName("小黄狗");
dog.setGender("公的");
cat.setColor("白色");
cat.setName("咪咪");
cat.setGender("公的");
animal.setCat(cat);
animal.setDog(dog);
return animal;
}
}
大对象包含小对象返回数据:
最终返回的这个大对象也可以放入Rest封装的工具类返回前台;
一、工具类一RestResponse
RestResponse(对内Rest接口-推荐)
package com.example.demo.result;import java.io.Serializable;/**
- REST接口统一返回数据工具类封装RestResponse
- @param
/publicclassRestResponseimplementsSerializable{privatestaticfinallong serialVersionUID=3728877563912075885L;privateint code;private String msg;private T data;publicRestResponse(){}publicRestResponse(int code, String message, T data){this.code= code;this.setMsg(message);this.data= data;}publicRestResponse(int code, T data){this.code= code;this.data= data;}publicRestResponse(int code, String message){this.code= code;this.setMsg(message);}/*- 成功时-返回data
- @param
- @return
/publicstatic RestResponsesuccess(T data){returnnewRestResponse(200, null, data);}/* - 成功-不返回data
- @param
- @return
/publicstatic RestResponsesuccess(String msg){returnnewRestResponse(200, msg);}/* - 成功-返回data+msg
- @param
- @return
/publicstatic RestResponsesuccess(String msg, T data){returnnewRestResponse(200, msg, data);}/* - 失败
- @param
- @return
/publicstatic RestResponsefail(String msg){returnnewRestResponse(500, msg,null);}/* - 失败-code
- @param
- @return
/publicstatic RestResponsefail(int code, String msg){returnnewRestResponse(code, msg,null);}publicintgetCode(){return code;}public StringgetMsg(){return msg;}public TgetData(){return data;}publicvoidsetCode(int code){this.code= code;}publicvoidsetMsg(String msg){this.msg= msg;}publicvoidsetData(T data){this.data= data;}@Overridepublic StringtoString(){return"RestResponse{“+“code=”+ code+”, msg=‘"+ msg+’‘’+“, data=”+ data+‘}’;}}
二、工具类二RpcResponse
RpcResponse(对外Rpc接口)
package com.example.oss.result;import lombok.Builder;import lombok.Data;import lombok.experimental.Accessors;import java.io.Serializable;/*
- @desc:
- @author: cao_wencao
- @date: 2020-11-06 17:04
/@Data@Accessors(chain=true)@BuilderpublicclassRpcResponseimplementsSerializable{publicstaticfinalint CODE_200=200;publicstaticfinalint CODE_500=500;privatestaticfinallong serialVersionUID=-1559957698621135646L;/*- 消息 CODE_200
/privateint code= CODE_500;/* - 信息
/private String message;/* - 数据
/private Object data;/* - Instantiates a new Api result.
/publicRestResponse(){super();}/* - Instantiates a new Api result.
- @param code the code
- @param message the message
- @param data the data
/publicRpcResponse(int code, String message, Object data){this.code= code;this.message= message;this.data= data;}/* - Instantiates a new Api result.
- @param code the code
- @param message the message
/publicRpcResponse(int code, String message){this(code, message, null);}/* - 错误
- @param message the message
- @return api result
/publicstatic RpcResponseerror(String message){returnnewRpcResponse(CODE_500, message, null);}/* - 错误
- @param code the code
- @param message the message
- @return api result
/publicstatic RpcResponseerror(int code, String message){returnnewRpcResponse(code, message);}/* - 成功
- @param message the message
- @return api result
/publicstatic RpcResponsesuccee(String message){returnnewRpcResponse(CODE_200, message);}/* - 成功
- @param data the data
- @param message the message
- @return api result
/publicstatic RpcResponsesuccee(Object data, String message){returnnewRpcResponse(CODE_200, message, data);}/* - 成功
- @param data the data
- @return api result
/public RpcResponsesuccess(Object data){returnnewRpcResponse(CODE_200, null, data);}}
三、工具类三RestResponse
RestResponse(对内Rest接口)
package com.example.oss.result;import lombok.Builder;import lombok.Data;import lombok.experimental.Accessors;import java.io.Serializable;/*
- 消息 CODE_200
- @desc:
- @author: cao_wencao
- @date: 2020-11-06 17:04
/@Data@Accessors(chain=true)@BuilderpublicclassRestResponseimplementsSerializable{publicstaticfinalint CODE_200=200;publicstaticfinalint CODE_500=500;privatestaticfinallong serialVersionUID=-1559957698621135646L;/*- 消息 CODE_200
/privateint code= CODE_500;/* - 信息
/private String message;/* - 数据
/private Object data;/* - Instantiates a new Api result.
/publicRestResponse(){super();}/* - Instantiates a new Api result.
- @param code the code
- @param message the message
- @param data the data
/publicRestResponse(int code, String message, Object data){this.code= code;this.message= message;this.data= data;}/* - Instantiates a new Api result.
- @param code the code
- @param message the message
/publicRestResponse(int code, String message){this(code, message, null);}/* - 错误
- @param message the message
- @return api result
/publicstatic RestResponseerror(String message){returnnewRestResponse(CODE_500, message, null);}/* - 错误
- @param code the code
- @param message the message
- @return api result
/publicstatic RestResponseerror(int code, String message){returnnewRestResponse(code, message);}/* - 成功
- @param message the message
- @return api result
/publicstatic RestResponsesuccee(String message){returnnewRestResponse(CODE_200, message);}/* - 成功
- @param data the data
- @param message the message
- @return api result
/publicstatic RestResponsesuccee(Object data, String message){returnnewRestResponse(CODE_200, message, data);}/* - 成功
- @param data the data
- @return api result
*/public RestResponsesuccess(Object data){returnnewRestResponse(CODE_200, null, data);}}
- 消息 CODE_200