第三周总结

本周工作内容
​​SpringBoot 全局返回类型与错误处理​​
定义了统一的返回类型 Result,规范了接口返回格式(包含状态码、消息和数据)。
实现了全局异常处理 GlobalExceptionHandler,捕获系统异常和自定义异常。
创建了 CustomException 类,支持手动抛出业务异常并返回指定错误信息。
​​Android 连接 SpringBoot​​
使用 Kotlin 实现了 Android 客户端与 SpringBoot 后端的网络通信。
通过 Retrofit 发起 HTTP 请求,完成用户数据的提交(注册功能)。
定义了数据实体类 User 和网络请求服务 UserService。
学到的知识
​​SpringBoot 统一响应与异常处理​​
统一返回格式的意义:标准化接口响应,便于前端处理。
@ControllerAdvice + @ExceptionHandler 的全局异常处理机制。
自定义异常的使用场景和实现方式。
​​Android 网络请求​​
Retrofit 的基本配置和使用(BASE_URL、GsonConverterFactory)。
异步网络请求的发起和响应处理(enqueue + Callback)。
Kotlin 数据类(data class)与 JSON 的自动转换。
​​前后端联调​​
接口设计规范(如 RESTful 风格的 POST /user/add)。
通过日志(Log.e)调试网络请求和响应数据。
遇到的问题及解决方法
​​问题​​:Android 网络请求失败(onFailure 被触发)。
​​原因​​:后端未启动或 IP 地址配置错误。
​​解决​​:检查 SpringBoot 服务是否运行,并确保 Android 的 BASE_URL 与后端地址一致。
​​问题​​:Retrofit 解析 JSON 时崩溃。
​​原因​​:后端返回的数据格式与 Android 实体类不匹配。
​​解决​​:使用 GsonBuilder().setLenient() 放宽解析规则,并确保字段名称一致。
​​问题​​:全局异常处理未生效。
​​原因​​:@ControllerAdvice 的包扫描路径未覆盖控制器类。
​​解决​​:明确指定包路径(如 @ControllerAdvice("com.demo.controller"))。
代码统计
​​SpringBoot 相关代码​​
Result 类:约 40 行(含成功/错误静态方法)。
GlobalExceptionHandler:约 20 行。
​​耗时​​:3 小时(包括测试和调试)。
​​Android 网络请求代码​​
实体类 User:10 行。
Retrofit 配置(ServiceCreater):15 行。
服务接口 UserService:5 行。
页面逻辑 MainActivity:30 行。
​​总代码量​​:约 60 行。
​​耗时​​:5 小时(含联调)。
总结
本周重点实现了前后端协作的关键技术:

​​后端​​:通过统一响应和全局异常处理提升接口规范性。
​​前端​​:掌握了 Android 网络请求的基本流程,成功连接 SpringBoot 后端。
​​联调经验​​:学会了通过日志排查网络问题,理解数据格式一致性的重要性。
下一步计划:

扩展更多业务接口(如登录、查询)。
学习 Android 的本地数据存储(如 Room)。
研究 SpringBoot 的权限控制(如 JWT)。

posted @ 2025-06-15 14:41  vivi_vimi  阅读(13)  评论(0)    收藏  举报