2023年的第一个总结
元旦假期对 2022 年进行了一次回顾与总结,发现最近一年公众号基本上是处于停更的状态,今年希望有所改善吧。
刚好最近一段时间,在技术上学习了一些新东西,非常难得。最近在做API接口重构改造,有一点点收获,所以打算写一下。
团队API写法及文档出现了“百家争鸣“的乱象,直接影响到代码质量、交接成本、联调进度、及bug的review的难度。所以引用 JSONAPI 交互规范,优化前后端 crud 等简单功能的开发对原有 api 进行重构改造,后端是引入了新的第三方库 django-rest-framework-json-api。
它是依赖于 Django REST framework ,在其基础上进行了参数结构调整等功能封装,使用起来和 Django REST framework 很像,变化主要体现在
一、直观使用感受
1.请求类型变成了
application/vnd.api+json
2.请求参数
/trip/?limit=10
变成了
/trip/?page[limit]=10
3. 返回结果,多了其他信息,比如 type、attributes、relationships
4.body 的请求参数也有变化
二、代码层面:
在 settings 上按照文档设置 rest_framework_json_api 相关属性
序列化验证器直接替换为它的 serializers
其他写法和 django-rest-framework 用法基本上一样。
三、重写部分源码
为了减少之前API的改动量,这边也对 django-rest-framework-json-api 部分源码修改,包括控制参数返回的 JSONRenderer、swagger-ui 文档生成等部分进行了重写
四、其他
之前一直以为 Django 不支持跨库,后来了解到,只需要在模型的元类添加 db_table 属性,写上数据库和表名就行,值得注意的是必须要有【`】
相关文章
- Oracle之删除数据之后如何恢复的方法总结
- WEBAPP开发技巧总结
- IM跨平台技术学习(三):vivo的Electron技术栈选型、全方位实践总结
- react高频面试题总结(附答案)
- 腾讯前端一面面试题总结_2023-02-27
- javascript 高级编程 之 Array 用法总结_2023-02-27
- 美团前端二面经典react面试题总结_2023-03-01
- 2023前端面试知识点总结_2023-02-24
- 【愚公系列】2023年02月 .NET/C#知识点-程序运行计时的总结
- 【愚公系列】2023年02月 .NET/C#知识点-List转成字符串的总结
- 一次有意义的前端面试总结
- Redis瞬时高并发秒杀方案总结
- JAVA中关于获取时间(日期)的总结大全详解程序员
- Oracle存储过程、包、方法使用总结(推荐)
- VS2015常用快捷键总结详解程序员
- Linux常用命令总结详解程序员
- 10年产品人总结了9条血泪教训
- 深入c#类和结构的区别总结详解
- C#中WinForm程序退出方法技巧总结