Postman调用Spring Boot接口遇ECONNREFUSED 127.0.0.1:8080错误求助
解决Spring Boot + Postman form-data上传时ECONNREFUSED 127.0.0.1:8080问题
1. 确认Spring Boot应用是否正常监听目标端口
- 检查IntelliJ启动日志,必须存在
Started [YourApplicationName] in X seconds的日志,且无启动错误 - 日志中需找到端口监听记录,比如
Tomcat started on port(s): 8080 (http);如果修改过端口,确保Postman请求URL使用的是新端口 - 用命令行验证端口占用:
- Windows:
netstat -ano | findstr :8080,确认PID对应的进程是你的Spring Boot应用 - Mac/Linux:
lsof -i :8080,同样确认进程归属
- Windows:
2. 核对请求地址与应用配置
- 确保Postman请求URL为
http://localhost:8080/[你的端点路径],不要误写为HTTPS(除非应用配置了SSL) - 检查
application.properties的服务器配置:server.port=8080 server.address=0.0.0.0 # 避免绑定到非本地地址,否则localhost无法访问 - 如果配置了
server.servlet.context-path,URL必须包含该前缀,比如http://localhost:8080/api/upload
3. 验证控制器端点正确性
- 确保控制器方法支持POST请求,且参数注解匹配form-data的字段名:
@PostMapping("/upload") public ResponseEntity<String> handleUpload( @RequestParam("image") MultipartFile imageFile, @RequestParam("metadata") String jsonMetadata) { // 业务逻辑 return ResponseEntity.ok("上传完成"); } - 若使用
@ModelAttribute接收对象,需保证对象有无参构造,且字段名与form-data的key完全对应
4. 排除网络与本地环境问题
- 用curl发起请求测试,排除Postman自身问题:
curl -X POST -F "image=@/本地图片路径.jpg" -F "metadata={\"title\":\"测试图片\"}" http://localhost:8080/upload - 检查本地hosts文件,确保
localhost映射到127.0.0.1,无异常篡改 - 尝试用
http://127.0.0.1:8080/...代替localhost发起请求,避免hosts解析异常 - 确认应用未被debug模式暂停,启动日志末尾无未捕获的异常信息
5. 检查依赖与Multipart配置
- 确认
pom.xml中正确引入Spring Web依赖,无容器冲突(如同时引入Tomcat和Jetty):<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> - 确保Multipart配置启用,可在
application.properties添加:spring.servlet.multipart.enabled=true spring.servlet.multipart.max-file-size=10MB spring.servlet.multipart.max-request-size=10MB
内容的提问来源于stack exchange,提问作者Sreyas Patil
相关产品推荐
相关产品推荐

