package per.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import per.lcm.pojo.Address;
import per.lcm.pojo.Result;
import java.util.ArrayList;
import java.util.List;
@RestController // @Controller + @ResponseBody
public class ResponseController {
// 响应字符串
@RequestMapping("/responseString")
public String responseString(){
String response = "Hello world ~";
System.out.println(response);
return response;
}
// 响应对象
@RequestMapping("/responsePojo")
public Address responsePojo(){
Address address = new Address();
address.setProvince("贵州省");
address.setCity("贵阳");
System.out.println(address);
return address;
}
// 响应集合
@RequestMapping("/responseList")
public List<Address> responseList(){
List<Address> list = new ArrayList<>();
Address address1 = new Address();
address1.setProvince("贵州省");
address1.setCity("贵阳");
Address address2 = new Address();
address2.setProvince("湖北省");
address2.setCity("武汉");
list.add(address1);
list.add(address2);
System.out.println(list);
return list;
}
/* ================================= 统一响应格式 ================================ */
// 响应字符串
@RequestMapping("/responseString")
public Result responseString(){
String response = "Hello world ~";
System.out.println(response);
return Result.succeed(response);
}
// 响应对象
@RequestMapping("/responsePojo")
public Result responsePojo(){
Address address = new Address();
address.setProvince("贵州省");
address.setCity("贵阳");
System.out.println(address);
return Result.succeed(address);
}
// 响应集合
@RequestMapping("/responseList")
public Result responseList(){
List<Address> list = new ArrayList<>();
Address address1 = new Address();
address1.setProvince("贵州省");
address1.setCity("贵阳");
Address address2 = new Address();
address2.setProvince("湖北省");
address2.setCity("武汉");
list.add(address1);
list.add(address2);
System.out.println(list);
return Result.succeed(list);
}
}
涉及到的实体类(省略getter&setter):
package per.pojo;
public class Result {
private static final String SUCCESS = "success";
private static final String ERROR = "error";
private static final Integer SUCCESS_CODE = 200;
private static final Integer ERROR_CODE = 500;
private Integer code;
private String msg;
private Object data;
public Result() {
}
public Result(Integer code, String msg, Object data) {
this.code = code;
this.msg = msg;
this.data = data;
}
public static Result succeed(Object data){
return new Result(SUCCESS_CODE, SUCCESS, data);
}
public static Result error(String msg){
return new Result(ERROR_CODE, msg, null);
}
}