@RestController
作用:定义在类/方法上,将方法返回值直接响应,如果返回值是实体类或集合,会转换成JSON形式响应。
@RestController = @Controller+@ResponseBody
@RequestMapping("/get9")
public String get9(){
return "你好";
}
@RequestMapping("/get10")
public Address get10(){
Address address = new Address();
address.setName("北京");
address.setNumber(100);
return address;
}
@RequestMapping("/get11")
public List<User> get11(){
ArrayList<User> users = new ArrayList<>();
users.add(new User("张三",10,new Address("北京",100)));
User user = new User();
user.setName("元宝");
user.setAge(10);
user.setAddress(new Address("上海",110));
return users;
}
优化
统一响应格式
package com.example.demo;
/*
统一响应结果,便于管理
*/
public class Result {
//响应码
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 Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public static Result success(Object data){
return new Result(1,"success",data);
}
public static Result success(){
return new Result(1,"success",null);
}
public static Result error(String msg){
return new Result(0,msg,null);
}
@Override
public String toString() {
return "Result{" +
"code=" + code +
", msg='" + msg + '\'' +
", data=" + data +
'}';
}
}
package com.example.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@RestController
public class ResultController {
@RequestMapping("/get12")
public Result get9(){
return Result.success("hello");
}
@RequestMapping("/get13")
public Result get10(){
Address address = new Address();
address.setName("北京");
address.setNumber(100);
return Result.success(address);
}
@RequestMapping("/get14")
public Result get11(){
List<User> users = new ArrayList<>();
users.add(new User("张三",10,new Address("北京",100)));
User user = new User();
user.setName("元宝");
user.setAge(10);
user.setAddress(new Address("上海",110));
users.add(user);
return Result.success(users);
}
}