Intern Day78 - 后端开发任务1 - 在已有Form表单上添加新信息 - 配置相关JSON等
前提要求
拿到手一个bug,不应该马上去调对应接口,然后直接开始调试代码。
具体应该这样做:
-
复现bug
-
理清 如何解决的 具体思路
-
和上级沟通反馈一下(一是看自己对这个需求理解是否正确到位;二是理清正确思路)
-
搞懂业务逻辑,细化问题,业务不懂就问
-
看整体代码框架(要有整体意识)
-
看接口,看F12下JSON返回的内容
-
调swagger下对应的API 调试代码 进行修改
Task
- 基于已有的三个不同的表单,在表单已有的选项下都添加手机和座机选项
PS提示
-
需要会JSON语法、前端相关语法(文本框、下拉框)、返回正则表达式给前端、数据库加字段
-
用正则判断手机和座机的要求
具体步骤
-
其实本质上就是:写一个JSON配置文件(创建表单对应的JSON配置)+ 写一个获取表单模板的接口(放在创建表单接口的上面)
-
配置文件中需要有
-
不同表单的分类(大分类)
-
每个表单下,自己的字段配置(小分类)
-
判断手机和座机的正则表达式(后端不需要在方法中判断,这个是拿个前端判断的)
-
我有个问题:不太清楚是否需要加转义字符
-
-
注意:在创建
.cs
文件的时候,大分类和小分类不要加错地方
-
-
JSON配置文件写好之后,放到数据库中对应的配置数据库下,手动新增一行即可。(把JSON配置文件/代码导入到DG中去)
-
配置信息的表:在console输入
select * from xxx.system_config;
即可找到该表。 -
因为用的是pgsql,它可以直接存储JSON,并且可以按JSON字段进行查询。所以这样操作就行了。
-
-
在DG中加两个字段(两列)
-
在哪里添加字段?去找表单上已有字段所在的数据表
-
上面的配置文件可以通过DG上有的图形化操作,加字段的话需要我们开一个console控制台,在console中写新增列的相关语句。
-
alter table 项目名.具体表名(写清楚了) add xxx_xxx(新增字段名,注意字段规范) varchar(20);
-
选中该语句,
command+enter
执行即可。
-
-
在创建表单的接口上面写一个获取表单模板的接口
- 接口注意路由命名规范和写法
-
从数据库中获取配置文件中刚刚自己新增的记录/配置信息JSON
-
注意先判断一下,后台数据是否为空,为空的话抛异常打log就行,一条语句
-
不为空的话进行 JSON反序列化 操作。因为是JSON格式的文件,所以需要先反序列化一下,才能得到具体的对象。
-
判断在数据库中配的JSON中的字段是否和表单类型匹配
-
不匹配的话,相当于缺少部分信息,需要抛异常打log
-
根据前端传过来的type,让前端的type跟studytype匹配上了,获取具体的表单应该有哪些字段
-
-
返回结果(返回给前端JSON)