文章目录
最近开发项目的时候,与前端联调的时候遇到了一个坑:
后端代码
Controller代码:
@GetMapping("/server/list")
public R serverList(@RequestBody AtonNetServerListReq req){
List<AtonNetServerListResp> list = atonServerService.listAll(req);
return R.ok().put("list", list);
}
接受参数的实体类:
@Getter
@Setter
public class AtonNetServerListReq {
private String netId;
}
使用postman请求是可以的:
请求:
响应:
使用swagger提供的调试界面进行请求:(等同于前端同事使用web浏览器请求)
使用浏览器的F12去看浏览器发送出去的请求内容:(可以看到此时没有包含你输入的{“netId”:1})
响应内容:
以及此时后端显示的错误:
结论就是:
- HTTP协议本身支持GET请求携带请求体
- JAVA后端支持GET请求携带请求体
- WEB浏览器不支持GET请求携带请求体