如何进行前后端联调
1604 字
8 分钟
如何进行前后端联调
一、新人必看
很多新人会问:“接口我不是写好了吗?为什么还要联调?”
因为你的接口写好了,不代表前端能正常调用。可能字段名对不上、数据格式不对、返回值有问题……
联调就是让前端调你的接口,发现问题后一起解决的过程。
1、什么是前后端联调?
简单说就是:
- 后端写好接口
- 前端来调接口
- 发现问题,后端改
- 再调,再改,直到没问题
2、联调流程图

二、联调前的准备
1、一定要先自测!(重要!)
新人最容易犯的错:接口写完直接给前端调,结果一堆问题。
自测要测什么?
| 检查项 | 说明 |
|---|---|
| 接口能不能通 | 用Postman调一下,不报错再说 |
| 参数对不对 | 必填参数传了没,格式对不对 |
| 返回值对不对 | 数据格式、字段名是否符合预期 |
| Token传了没 | 需要登录的接口要传Token |
| 异常情况测了没 | 参数为空、参数错误会怎样 |
自测工具:
- Postman
- Apifox
- Swagger
2、准备接口文档
接口文档是给前端看的,要包含这些内容:
| 信息项 | 示例 |
|---|---|
| 接口用途 | 查询用户列表 |
| 接口地址 | GET /api/user/list |
| 请求参数 | userName(可选)、pageNum(默认1)、pageSize(默认10) |
| 返回参数 | code、message、data(列表+总数) |
| 枚举说明 | status: 0-禁用, 1-启用 |
接口文档工具:
- Word文档(简单粗暴)
- Swagger/Knife4j(自动生成)
- Apifox(在线协作)
三、部署后端服务
前端要调你的接口,你得把服务部署起来。
1、方式一:本地部署
就是把你本地的IDEA启动,让前端来连你电脑。
前提条件:
- 前后端在同一个局域网(同一个WiFi)
- 电脑防火墙要关闭
- 端口没有被占用
操作步骤:
- 查看自己的IP地址
# Windowsipconfig
# 找到 IPv4 地址,比如 192.168.3.10 ,可以让前端Ping一下,能够Ping通就没问题
- 关闭防火墙
控制面板 → Windows Defender 防火墙 → 启用或关闭Windows Defender防火墙 → 关闭- 告诉前端你的地址
192.168.3.102、方式二:测试环境部署
直接把服务部署到测试服务器上,前端访问测试环境。
常见部署方式:
- Jenkins自动部署
- 手动打包上传
- Docker部署
问同事: “我们项目怎么部署到测试环境?“
3、验证服务是否正常
# 本地测试curl http://localhost:8080/api/test四、联调过程中常见问题
1、跨域问题
现象: 前端控制台报错 CORS policy
原因: 前端和后端域名/端口不同,浏览器拦截了
解决方案:
后端添加跨域配置:
@Configurationpublic class CorsConfig { @Bean public CorsFilter corsFilter() { CorsConfiguration config = new CorsConfiguration(); config.addAllowedOriginPattern("*"); config.addAllowedMethod("*"); config.addAllowedHeader("*"); config.setAllowCredentials(true);
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", config); return new CorsFilter(source); }}2、前端收不到参数
现象: 前端传了参数,后端收到是null
排查步骤:
| 检查项 | 说明 |
|---|---|
| 请求方式 | GET用@RequestParam,POST用@RequestBody |
| Content-Type | POST请求要设置 application/json |
| 参数名称 | 前后端参数名要一致 |
| 参数位置 | Query参数在URL里,Body参数在请求体里 |
常见错误:
// 错误:POST请求用了@RequestParam@PostMapping("/add")public Result add(@RequestParam String name) { // 收不到!
// 正确:POST请求用@RequestBody@PostMapping("/add")public Result add(@RequestBody UserDto dto) { // 正确3、返回字段名不对
现象: 前端要userName,你返回的是user_name
解决方案:
@Datapublic class UserVo { @JsonProperty("userName") // 指定返回的字段名 private String userName;}4、日期格式问题
现象: 日期返回的是时间戳或格式不对
解决方案:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")private Date createTime;5、Token失效
现象: 接口返回401
排查:
- Token有没有传
- Token格式对不对(Bearer xxx)
- Token有没有过期
五、联调的正确姿势
1、与前端沟通的技巧
不要这样说:
“接口没问题啊,你自己检查下”
应该这样说:
“我这边用Postman测是正常的,我们一起看看是什么问题,你把请求参数和返回结果发我一下”
2、问题定位方法
1. 让前端把请求参数发给你2. 你用同样的参数在Postman测试3. 如果Postman正常,说明可能是跨域或前端问题4. 如果Postman也有问题,那就是后端问题3、改接口要注意
| 改动 | 风险 | 建议 |
|---|---|---|
| 新增字段 | 低 | 随便加 |
| 修改字段名 | 高 | 先和前端确认 |
| 删除字段 | 很高 | 确认前端没用再删 |
| 修改返回结构 | 很高 | 可能影响很多地方 |
六、联调完成的标准
| 检查项 | 说明 |
|---|---|
| ✅ 所有接口都能正常调用 | 没有报错 |
| ✅ 返回数据格式正确 | 字段名、类型都对 |
| ✅ 业务流程能跑通 | 从头到尾没卡点 |
| ✅ 异常情况处理正确 | 参数错误有提示 |
| ✅ 接口文档已更新 | 改动都记录了 |
七、新人避坑指南
| 坑 | 正确做法 |
|---|---|
| 接口写完直接给前端 | 先自己用Postman测一遍 |
| 不写接口文档 | 至少写个简单的Word文档 |
| 改了接口不告诉前端 | 接口改动要及时同步 |
| 前端报错就说是前端问题 | 先排查确认是谁的问题 |
| 联调时间不够就匆忙交付 | 宁可加班也要保证质量 |
八、常见问题
Q:前端说接口调不通怎么办?
A:让前端把报错截图发你,看是跨域问题还是接口问题。自己用Postman再测一遍确认。
Q:前端说字段名不对要改怎么办?
A:如果只是改字段名,加个@JsonProperty注解就行,不影响数据库字段。
Q:联调时前端不在怎么办?
A:先把接口文档给前端,让前端先看着,等都在了再联调。
Q:一个接口前端调了一直有问题怎么办?
A:和前端一起看,打开F12看请求和响应,一起分析问题在哪。
九、注意事项
- 及时沟通:发现问题马上沟通,不要积累
- 保持耐心:联调遇到问题很正常,不要急躁
- 记录问题:把遇到的问题记下来,下次就不会踩坑
- 先自测再联调:自己都没测就给前端,很不专业
- 接口文档要同步:改了接口要更新文档
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!














