1. swagger知识点补充

1.1. 概述

  1. 在swagger的使用过程中,除了网上常见的例子,还会有很多细节上的东西需要注意和改写,这里我列几点我使用过程中遇到的问题和改进方式

1.2. 知识点

1.2.1. 模型例子

  1. 我们在进行POST的请求的时候,尤其是增加一条数据,我们往往会有很多字段是不需要我们手动填写的,比如逻辑删除,创建时间,修改时间等等,我的需求就是再swagger界面的Example中不显示这些字段
  2. 实现方式

1.2.2. 判空

  1. 如上图所示,这不是swagger知识点,这里顺带讲下,需要在controller层入参加上@Vaild

  2. 输入参数有误,效果如下

1.2.3. controller层中文字标注

  1. 效果如下,网上的例子大多没有设该属性

  2. 实现方式

1.2.4. 模型填充默认值

  1. 如下例子:swagger打开该接口的默认配置就是example配的



1.2.5. 激活测试dev模式

  1. 再补充个非swagger的知识点,激活dev模式,在测试时比较好用
@RunWith(SpringRunner.class)
@SpringBootTest
@ActiveProfiles("dev")
@Slf4j
public class FundApplicationTests { @Test
public void contextLoads() {
log.info("adafdafds");
} }

1.2.6. schedule的cron定时任务

  1. 再补充个,定时任务的要求有时候可能觉得一个cron满足不了,不要执着于怎么写cron了,注解时可以注多个的
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Repeatable(Schedules.class)
public @interface Scheduled {
  1. @Repeatable注解就是表明了这个注解可以重复注

1.2.7. transient和@TableField(select = false)

  1. 虽然前面有讲到过,这里在重复声明一次,连我也觉得容易忘记,属性用transient修饰,在配合jackson或fastjson的fj.setSerializerFeatures(SerializerFeature.SkipTransientField)配置,表示对controller层做切面,返回数据的json序列化会去掉该字段;而@TableField(select = false)注解的属性字段,表示用mybatis的sql查询,默认查全量字段时,该字段不查询
  2. 逻辑删除字段,添加transient会导致逻辑删除模式失效

1.2.8. 逻辑删除

  1. 前面也讲到过逻辑删除的功能,它除了可以使得我们用deleteById这样的操作变成逻辑删除,还可以使除了自定义语句的查询默认加上逻辑删除=未删除的条件,也就是说,像下列这样的查询操作,默认会加上del_flag=0,我们无需再多写这个字段的条件
User user = this.baseMapper.selectOne(Wrappers.<User>lambdaQuery().
select(User::getUsername, User::getSex, User::getNickName).eq(User::getUserId, userId));

swagger知识点补充的更多相关文章

  1. set集合,深浅拷⻉以及部分知识点补充

    set集合,深浅拷⻉以及部分知识点补充内容:1. 基础数据类型补充2. set集合3. 深浅拷⻉主要内容: ⼀. 基础数据类型补充⾸先关于int和str在之前的学习中已经讲了80%以上了. 所以剩下的 ...

  2. Django 知识点补充

    Django 知识点补充 1 Django如何在Model保存前做一定的固定操作,比如写一条日志 (1)利用Django的Model的Signal Dispatcher, 通过django.db.mo ...

  3. 从零开始的全栈工程师——html篇1.8(知识点补充与浏览器兼容性)

    知识点补充 一.浏览器的兼容问题(关于浏览器的兼容问题 有很多大佬已经解释的很清楚了 这个得自己百度去多花点时间去了解 这里咱们只说一下前面的漏点) 浏览器兼容性问题又被称为网页兼容性或网站兼容性问题 ...

  4. python day4 元组/字典/集合类知识点补充

    目录 python day4 元组/字典/集合类知识点补充 1. 元组tuple知识点补充 2. 字典dict的知识点补充 3. 基本数据类型set 4. 三元运算,又叫三目运算 5. 深复制浅复制 ...

  5. python 知识点补充

    python 知识点补充 简明 python 教程 r 或 R 来指定一个 原始(Raw) 字符串 Python 是强(Strongly)面向对象的,因为所有的一切都是对象, 包括数字.字符串与 函数 ...

  6. java基础知识点补充---二维数组

    #java基础知识点补充---二维数组 首先定义一个二维数组 int[][] ns={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; 实现遍 ...

  7. disruptor笔记之八:知识点补充(终篇)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. Jaeger知识点补充

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  9. Mysql学习笔记(十)存储过程与函数 + 知识点补充(having与where的区别)

    学习内容:存储程序与函数...这一章学的我是云里雾里的... 1.存储过程...   Mysql存储过程是从mysql 5.0开始增加的一个新功能.存储过程的优点其实有很多,不过我觉得存储过程最重要的 ...

随机推荐

  1. mysql数据库查询库中所有表所占空间大小

    SELECT CONCAT(table_schema,'.',table_name) AS 'TABLE_NAME', CONCAT(, ),'M') AS 'ROW_SIZE', CONCAT( ) ...

  2. client模式下对应接口加入桥接出错

    client模式下,响应的接口wlan0 加入桥接时出现如下错误: root@root:~# brctl addif br-lan wlan0brctl: bridge br-lan: Operati ...

  3. Windows下虚拟机安装Mac OS X —– VM12安装Mac OS X 10.11

    ____________________________________________________________________________________________________ ...

  4. 测试开发之Django——No7.Django模板中的过滤器

    1.add 将参数添加到值. 例如: {{ value|add:"2" }} 如果value是4,那么输出将是6. 此过滤器将首先尝试将两个值强制转换为整数.如果失败,它将尝试将值 ...

  5. wpf Assembly.LoadFile dll GetType 反射 抛异常 不具有由 URI 识别的资源。

    public static void LoadViewFromUri(this Window window, string baseUri) { try { var resourceLocater = ...

  6. php计算给定时间之前的函数

    这里给定一个时间,计算这个时间在多久前,比如:2天前,1年前 function prettyDate($date){ $time = strtotime($date); $now = time(); ...

  7. 完全背包记录路径poj1787 好题

    这题有点多重背包的感觉,但还是用完全背包解决,dp[j]表示凑到j元钱时的最大硬币数,pre[j]是前驱,used[j]是凑到j时第i种硬币的用量 △回溯答案时i-pre[i]就是硬币价值 #incl ...

  8. ural1989 单点更新+字符串hash

    正解是双哈希,不过一次哈希也能解决.. 然后某个数字就对应一个字符串,虽然有些不同串对应同一个数字,但是概率非常小,可以忽略不计.从左到右.从右到左进行两次hash,如果是回文串,那么对应的整数必定存 ...

  9. C# mongoDB Driver 使用对象方式查询语法大全

    #region 查询方法 /// <summary> /// 获取单个对象 /// </summary> /// <typeparam name="T" ...

  10. HDU 1851 (N个BASH博弈子游戏)

    题意:n堆石子,分别有M1,M2,·······,Mn个石子,各堆分别最多取L1,L2,·····Ln个石头,两个人分别取,一次只能从一堆中取,取走最后一个石子的人获胜.后选的人获胜输出Yes,否则输 ...