Files
his/sql/迁移记录-DB变更记录/门诊记录接口404排查指南.md

3.1 KiB
Raw Blame History

门诊记录接口404问题排查指南

问题描述

门诊记录页面报404错误路径/openhis/patient-manage/records/outpatient-record-page

修改内容

已创建 OutpatientRecordController.java

  • 位置:openhis-application/src/main/java/com/openhis/web/patientmanage/controller/OutpatientRecordController.java
  • 请求路径:/patient-manage/records

排查步骤

1. 清理并重新编译后端项目

在命令行执行:

cd e:\his\openhis-server-new
mvn clean install -DskipTests

或者在 IDE 中:

  1. 点击 Maven 中的 clean 命令
  2. 等待清理完成
  3. 点击 installcompile 命令

2. 停止并重启后端服务

重要:必须完全停止当前运行的后端服务,然后重新启动

如果使用 IDE 运行:

  1. 停止当前运行的 Spring Boot 应用
  2. 重新运行 OpenHisApplication.main()

如果使用命令行运行:

# 停止当前服务 (Ctrl+C)
cd e:\his\openhis-server-new\openhis-application
mvn spring-boot:run

3. 验证Controller是否被加载

访问测试接口:

http://localhost:18080/openhis/patient-manage/records/test

如果返回:

{
  "code": 200,
  "msg": "操作成功",
  "data": "OutpatientRecordController 工作正常"
}

说明 Controller 已成功加载。

4. 检查后端启动日志

查看启动日志中是否有类似以下内容:

Mapped "{[/patient-manage/records/test]}" onto ...
Mapped "{[/patient-manage/records/init]}" onto ...
Mapped "{[/patient-manage/records/outpatient-record-page]}" onto ...
Mapped "{[/patient-manage/records/doctor-names]}" onto ...

如果没有这些映射日志,说明 Controller 没有被扫描到。

5. 检查包扫描配置

确认 OpenHisApplication.java 中:

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}, 
    scanBasePackages = {"com.core", "com.openhis"})

这会扫描 com.openhis 包及其子包,包括:

  • com.openhis.web.patientmanage.controller

6. 检查编译输出

确认编译后的 class 文件存在于:

e:\his\openhis-server-new\openhis-application\target\classes\com\openhis\web\patientmanage\controller\OutpatientRecordController.class

如果不存在,说明编译有问题。

常见问题

Q: 重启后还是404

A: 确保完全停止了旧的进程。使用任务管理器检查是否有 java.exe 进程在运行,如果有则全部结束。

Q: 编译成功但接口不工作

A: 检查是否访问的是正确的端口和路径:

  • 端口18080
  • 路径:/openhis/patient-manage/records/outpatient-record-page

Q: 日志中没有映射信息

A: 可能是注解使用错误。已修正为:

  • @RequiredArgsConstructor 替代 @AllArgsConstructor
  • private final 字段直接注入

验证步骤

  1. 访问:http://localhost:18080/openhis/patient-manage/records/test
  2. 访问:http://localhost:18080/openhis/patient-manage/records/doctor-names
  3. 访问:http://localhost:18080/openhis/patient-manage/records/outpatient-record-page

如果都能正常返回,刷新前端页面即可。