如何进行前后端联调

1604 字
8 分钟
如何进行前后端联调

一、新人必看#

很多新人会问:“接口我不是写好了吗?为什么还要联调?”

因为你的接口写好了,不代表前端能正常调用。可能字段名对不上、数据格式不对、返回值有问题……

联调就是让前端调你的接口,发现问题后一起解决的过程。

1、什么是前后端联调?#

简单说就是:

  1. 后端写好接口
  2. 前端来调接口
  3. 发现问题,后端改
  4. 再调,再改,直到没问题

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)
  • 电脑防火墙要关闭
  • 端口没有被占用

操作步骤:

  1. 查看自己的IP地址
Terminal window
# Windows
ipconfig
# 找到 IPv4 地址,比如 192.168.3.10 ,可以让前端Ping一下,能够Ping通就没问题

前后端联调-2
前后端联调-2

  1. 关闭防火墙
控制面板 → Windows Defender 防火墙 → 启用或关闭Windows Defender防火墙 → 关闭
  1. 告诉前端你的地址
192.168.3.10

2、方式二:测试环境部署#

直接把服务部署到测试服务器上,前端访问测试环境。

常见部署方式:

  • Jenkins自动部署
  • 手动打包上传
  • Docker部署

问同事: “我们项目怎么部署到测试环境?“

3、验证服务是否正常#

Terminal window
# 本地测试
curl http://localhost:8080/api/test

四、联调过程中常见问题#

1、跨域问题#

现象: 前端控制台报错 CORS policy

原因: 前端和后端域名/端口不同,浏览器拦截了

解决方案:

后端添加跨域配置:

@Configuration
public 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-TypePOST请求要设置 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

解决方案:

@Data
public 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看请求和响应,一起分析问题在哪。

九、注意事项#

  1. 及时沟通:发现问题马上沟通,不要积累
  2. 保持耐心:联调遇到问题很正常,不要急躁
  3. 记录问题:把遇到的问题记下来,下次就不会踩坑
  4. 先自测再联调:自己都没测就给前端,很不专业
  5. 接口文档要同步:改了接口要更新文档

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
如何进行前后端联调
https://study-docs-158.pages.dev/posts/如何进行前后端联调/
作者
我的学习小铺
发布于
2026-08-01
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
我的学习小铺
学而时习之
分类
标签
最新动态
站点统计
文章
41
分类
7
标签
3
总字数
122,278
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.15.3
文章许可
CC BY-NC-SA 4.0