HTTP协议的数据格式
- get
- post
- delete
- put
http://localhost:8080/login?username=bge&password=123
浏览器以此URL方式正常发出的请求为get请求
spring中对于请求方式的限定:
@RequestMapping
@RequestMapping
:一个通用的请求映射注解,可以用于映射任何HTTP请求(GET、POST、PUT、DELETE等)。需要在指定页面中使用method
属性来定义请求类型,相对比较繁琐。
@GetMapping: 查询
@GetMapping
:是一个专门用于处理HTTP GET请求的注解。GET请求通常用于获取数据。
@PostMapping: 新增
@PostMapping
是一个专门用于处理HTTP POST请求的注解。POST请求通常用于提交数据。
@DeleteMapping: 删除
@DeleteMapping
用于处理HTTP DELETE请求。DELETE请求通常用于从服务器删除资源。
@PutMapping:修改
@PutMapping
用于处理HTTP PUT请求。PUT请求通常用于更新服务器上的现有资源。
SpringBoot响应消息
响应简单字符串
如果方法的返回值是String,那么SpringBoot会把字符串原样返回
响应Java实体类对象
如果方法的返回值类型是实体类对象,那么SpringBoot会自动的把Java对象转换成json字符串响应给浏览器
@PostMapping("/findById/{id}")
//@PathVariable用于将URL中的模板变量绑定到方法参数上
public Result findById(@PathVariable("id") Integer id) {
System.out.println(id);
return new User("bge", 12, "男");
}
响应集合对象
如果方法的返回值类型是集合对象,那么SpringBoot会自动的吧集合对象转换成json字符串响应给浏览器
@PostMapping("/getAllUser")
public Result getAllUser() {
List<User> users =new ArrayList<>();
users.add(new User("bge", 12, "男"));
users.add(new User("bgex", 12, "男"));
return users;
}
同一响应数据格式
设计Java类用于封装统一的数据格式
响应状态码: 1-成功,0-失败
提示信息: 错误的提示
核心数据: 查询时的数据
package com.xuelei.pojo;
public class Result {
private Integer code;//响应状态码 1-成功,0-失败
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,"操作成功",data);
}
//静态的方法,快速构建对象
public static Result error(String msg){
return new Result(0,msg,null);
}
}
测试:
@PostMapping("/findById/{id}")
//用于将URL中的模板变量绑定到方法参数上
public Result findById(@PathVariable("id") Integer id) {
System.out.println(id);
Result result = Result.success(new User("bge", 12, "男"));
return result;
}
@PostMapping("/getAllUser")
public Result getAllUser() {
List<User> users =new ArrayList<>();
users.add(new User("bge", 12, "男"));
users.add(new User("bgex", 12, "男"));
Result result = Result.success(users);
return result;
}