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

Spring Boot患者管理API如何通过疾病路径参数查询对应患者姓名

功能实现修改方案

现有代码问题梳理

  • 控制器层使用了@PostMapping注解,浏览器直接输入URL访问属于GET请求,无法匹配
  • 控制器方法没有获取路径中的illness参数,返回值为void不符合返回姓名列表的需求
  • 服务层方法逻辑错误,直接拿Patient对象和疾病名称字符串比较,且没有收集匹配到的患者姓名返回

修改后的代码

1. 服务层(PatientService)修改

替换原有patientIllness方法即可:

// 根据疾病名称查询匹配的患者姓名列表
public List<String> patientIllness(String illness) {
    List<String> matchNames = new ArrayList<>();
    for (Patient patient : patientList) {
        // 若需要忽略大小写可改为illness.equalsIgnoreCase(patient.getIllness())
        if (illness.equals(patient.getIllness())) {
            matchNames.add(patient.getName());
        }
    }
    return matchNames;
}

2. 控制层(PatientController)修改

替换原有标注HELP的方法即可:

// 根据疾病名称获取所有患病人员姓名
@GetMapping("api/v1/{illness}")
public List<String> patientIllness(@PathVariable("illness") String illness) {
    return patService.patientIllness(illness);
}

验证方式

启动项目后,在浏览器输入http://localhost:8080/api/v1/你要查询的疾病名称,即可返回所有患该疾病的人员姓名列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:21:02