You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringBoot接口测试Postman报ECONNREFUSED错误,求排查问题

SpringBoot API无法访问问题排查

我尝试在SpringBoot中测试API,但无法通过Postman获取数据。使用GET请求访问URL http://localhost:8080/division时,Postman抛出错误:Error: connect ECONNREFUSED 127.0.0.1:8080。我想获取表格数据并以JSON格式返回,以下是我的实现代码:

实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
public class Division {
    @Id
    private String id;
    private String division;

    @OneToMany(mappedBy = "division", cascade = CascadeType.ALL, orphanRemoval = true)
    private List<District> districts = new ArrayList<>();
}

仓库接口

public interface DivisionRepository extends JpaRepository<Division, String> {
}

服务类

@Service
public class DivisionService {
    @Autowired
    DivisionRepository divisionRepository;
    public List<Division> getAllDivision(){
        return divisionRepository.findAll();
    }
}

控制器类

@RestController
@RequestMapping("/division")
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
public class DivisionController {

    @Autowired
    DivisionService divisionService;

    @GetMapping
    List<Division> getAlldivisions(){
        return divisionService.getAllDivision();
    }
}

问题诊断与解决思路

你遇到的Error: connect ECONNREFUSED 127.0.0.1:8080是连接被拒绝的错误,核心原因是SpringBoot服务没有在8080端口正常启动,或者你访问的端口与服务实际运行端口不匹配。结合你的代码,逐一排查:

1. 优先检查服务是否正常启动

  • 查看SpringBoot应用启动日志,确认是否有报错(比如数据库连接失败、JPA映射错误):
    • 你使用了JPA,必须在application.properties/application.yml中配置数据库信息,示例:
      spring.datasource.url=jdbc:mysql://localhost:3306/你的数据库名
      spring.datasource.username=数据库用户名
      spring.datasource.password=数据库密码
      spring.jpa.hibernate.ddl-auto=update
      spring.jpa.show-sql=true
      
    • 如果数据库配置错误,服务会启动失败,自然无法接收请求。

2. 确认服务运行端口

  • 默认情况下SpringBoot用8080端口,但如果配置文件中修改了server.port(比如设为8081),你需要访问对应的端口,比如http://localhost:8081/division。

3. 代码中的非致命但需规范的问题

这些问题不会导致连接拒绝,但可能影响后续数据返回:

  • 控制器方法getAlldivisions缺少public修饰符,虽然Spring可以识别,但建议加上:
    @GetMapping
    public List<Division> getAlldivisions(){
        return divisionService.getAllDivision();
    }
    
  • 字段注入@Autowired建议替换为构造注入,更符合Spring规范:
    private final DivisionService divisionService;
    
    public DivisionController(DivisionService divisionService) {
        this.divisionService = divisionService;
    }
    
  • 确认District实体类是否正确配置了与Division的关联:
    @Entity
    public class District {
        // 其他字段
        @ManyToOne
        @JoinColumn(name = "division_id")
        private Division division;
        // getter/setter
    }
    
    如果缺少这个配置,JPA的OneToMany关联会失效,导致返回的Division数据中districts字段为空。

内容的提问来源于stack exchange,提问作者Mahadi Hasan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 00:45:14