请求
简单参数
数组集合
日期参数
路径参数
代码如下
@RequestMapping("/simpleParam")//下面一行这里不算是起别名,算是换名了,把UserName换成了name
public String simpleParam(@RequestParam(name="name")String UserName, Integer age){
System.out.println(UserName+":"+age);
return "ok";
}
@RequestMapping("/simplePojo")
public String simplePojo(User user){
System.out.println(user);
return "ok";
}
@RequestMapping("/arrayParam")
public String arrayParam(String [] hobby){
System.out.println(Arrays.toString(hobby));
return "ok";
}
@RequestMapping("/listParam")
public String listParam(@RequestParam List<String> hobby){
System.out.println(hobby);
return "ok";
}
@RequestMapping("/dateParam")
public String dataParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")LocalDateTime updateTime){
System.out.println(updateTime);
return "ok";
}
@RequestMapping("/jsonParam")
public String jsonParam(@RequestBody User user){
System.out.println(user);
return "ok";
}
@RequestMapping("/path/{id}/{name}")
public String pathParam(@PathVariable Integer id,@PathVariable String name){
System.out.println(id+": "+name);
return "ok";
}
响应
@RestController包含了ResponseBody
响应的统一格式如下所示
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;
}
@Override
public String toString() {
return "Result{" +
"code=" + code +
", msg='" + msg + '\'' +
", 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);
}
}
例子
@RestController
public class ResponseController {
@RequestMapping("/listAddr")
public Result listAddr(){
List<Address>list=new ArrayList<>();
Address addr=new Address();
Address addr2=new Address();
addr.setProvince("广东");
addr2.setProvince("深圳");
addr.setCity("陕西");
addr2.setCity("西安");
list.add(addr);
list.add(addr2);
return Result.success(list);
}
}
总结
请求和响应的不同之处在于
请求的时候我们需要传入数据,然后返回一个ok来证明我们请求成功了
而响应不一样,我们是直接搜索路径,数据是写在代码里面的,然后汤姆猫就会返回数据
所以不需要传入数据