# controller 目录控制器类说明 在 `src/main/java/work/baiyun/chronicdiseaseapp/controller` 目录下包含了项目中的各种控制器类,这些类负责处理 HTTP 请求,协调业务逻辑,并返回响应结果。 ## BloodGlucoseDataController.java ### 用途 BloodGlucoseDataController 是血糖数据相关的控制器,负责处理血糖数据的增删查操作。 ### 实现细节 - 提供了添加血糖数据的接口 - 提供了分页查询血糖数据的接口 - 提供了医生/家属查询患者血糖数据的接口(需要绑定关系) - 提供了删除血糖数据的接口 - 使用了 Swagger 注解进行接口文档说明 - 所有接口都进行了异常处理和日志记录 ## BloodPressureDataController.java ### 用途 BloodPressureDataController 是血压数据相关的控制器,负责处理血压数据的增删查操作。 ### 实现细节 - 提供了添加血压数据的接口 - 提供了分页查询血压数据的接口 - 提供了医生/家属查询患者血压数据的接口(需要绑定关系) - 提供了删除血压数据的接口 - 使用了 Swagger 注解进行接口文档说明 - 所有接口都进行了异常处理和日志记录 ## GeoController.java ### 用途 GeoController 是地理信息相关的控制器,负责获取地理位置信息。 ### 实现细节 - 提供了根据经纬度获取最近位置的接口 - 使用 RestTemplate 调用外部地理服务 - 使用了 Swagger 注解进行接口文档说明 - 进行了异常处理和日志记录 ## HeartRateDataController.java ### 用途 HeartRateDataController 是心率数据相关的控制器,负责处理心率数据的增删查操作。 ### 实现细节 - 提供了添加心率数据的接口 - 提供了分页查询心率数据的接口 - 提供了医生/家属查询患者心率数据的接口(需要绑定关系) - 提供了删除心率数据的接口 - 使用了 Swagger 注解进行接口文档说明 - 所有接口都进行了异常处理和日志记录 ## PhysicalDataController.java ### 用途 PhysicalDataController 是体格数据相关的控制器,负责处理身高、体重等体格数据的增删查操作。 ### 实现细节 - 提供了添加体格数据的接口 - 提供了分页查询体格数据的接口 - 提供了医生/家属查询患者体格数据的接口(需要绑定关系) - 提供了删除体格数据的接口 - 使用了 Swagger 注解进行接口文档说明 - 所有接口都进行了异常处理和日志记录 - 对分页结果进行了详细的 VO 转换 ## UserAvatarController.java ### 用途 UserAvatarController 是用户头像相关的控制器,负责处理用户头像的上传和获取。 ### 实现细节 - 提供了上传/更新用户头像的接口 - 提供了获取用户头像的接口 - 支持 multipart/form-data 类型的文件上传 - 使用了 Swagger 注解进行接口文档说明 - 进行了详细的异常处理和权限验证 ## UserBindingController.java ### 用途 UserBindingController 是用户绑定关系相关的控制器,负责处理用户之间的绑定关系。 ### 实现细节 - 提供了创建用户绑定关系的接口 - 提供了删除用户绑定关系的接口 - 提供了分页查询患者绑定关系列表的接口 - 提供了分页查询用户被绑定关系列表的接口 - 提供了检查用户绑定关系的接口 - 使用了 Swagger 注解进行接口文档说明 - 所有接口都进行了异常处理和日志记录 ## WeChatController.java ### 用途 WeChatController 是微信相关接口的控制器,负责处理微信小程序的登录和用户信息管理。 ### 实现细节 - 提供了根据微信 code 获取 openid 并创建/返回用户 token 的接口 - 提供了根据 token 获取当前用户信息的接口 - 提供了更新用户信息的接口 - 支持多种 token 传递方式(Authorization header、X-Token header、token header 或请求体) - 使用了 Swagger 注解进行接口文档说明 - 进行了详细的参数验证和异常处理