swagger知识点补充
1. swagger知识点补充
1.1. 概述
- 在swagger的使用过程中,除了网上常见的例子,还会有很多细节上的东西需要注意和改写,这里我列几点我使用过程中遇到的问题和改进方式
1.2. 知识点
1.2.1. 模型例子
- 我们在进行POST的请求的时候,尤其是增加一条数据,我们往往会有很多字段是不需要我们手动填写的,比如逻辑删除,创建时间,修改时间等等,我的需求就是再swagger界面的Example中不显示这些字段
- 实现方式

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

- 输入参数有误,效果如下

1.2.3. controller层中文字标注
- 效果如下,网上的例子大多没有设该属性

- 实现方式

1.2.4. 模型填充默认值
- 如下例子:swagger打开该接口的默认配置就是
example配的


1.2.5. 激活测试dev模式
- 再补充个非swagger的知识点,激活dev模式,在测试时比较好用
@RunWith(SpringRunner.class)
@SpringBootTest
@ActiveProfiles("dev")
@Slf4j
public class FundApplicationTests {
@Test
public void contextLoads() {
log.info("adafdafds");
}
}
1.2.6. schedule的cron定时任务
- 再补充个,定时任务的要求有时候可能觉得一个cron满足不了,不要执着于怎么写cron了,注解时可以注多个的
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Repeatable(Schedules.class)
public @interface Scheduled {
@Repeatable注解就是表明了这个注解可以重复注
1.2.7. transient和@TableField(select = false)
- 虽然前面有讲到过,这里在重复声明一次,连我也觉得容易忘记,属性用
transient修饰,在配合jackson或fastjson的fj.setSerializerFeatures(SerializerFeature.SkipTransientField)配置,表示对controller层做切面,返回数据的json序列化会去掉该字段;而@TableField(select = false)注解的属性字段,表示用mybatis的sql查询,默认查全量字段时,该字段不查询 - 逻辑删除字段,添加
transient会导致逻辑删除模式失效
1.2.8. 逻辑删除
- 前面也讲到过逻辑删除的功能,它除了可以使得我们用
deleteById这样的操作变成逻辑删除,还可以使除了自定义语句的查询默认加上逻辑删除=未删除的条件,也就是说,像下列这样的查询操作,默认会加上del_flag=0,我们无需再多写这个字段的条件
User user = this.baseMapper.selectOne(Wrappers.<User>lambdaQuery().
select(User::getUsername, User::getSex, User::getNickName).eq(User::getUserId, userId));
swagger知识点补充的更多相关文章
- set集合,深浅拷⻉以及部分知识点补充
set集合,深浅拷⻉以及部分知识点补充内容:1. 基础数据类型补充2. set集合3. 深浅拷⻉主要内容: ⼀. 基础数据类型补充⾸先关于int和str在之前的学习中已经讲了80%以上了. 所以剩下的 ...
- Django 知识点补充
Django 知识点补充 1 Django如何在Model保存前做一定的固定操作,比如写一条日志 (1)利用Django的Model的Signal Dispatcher, 通过django.db.mo ...
- 从零开始的全栈工程师——html篇1.8(知识点补充与浏览器兼容性)
知识点补充 一.浏览器的兼容问题(关于浏览器的兼容问题 有很多大佬已经解释的很清楚了 这个得自己百度去多花点时间去了解 这里咱们只说一下前面的漏点) 浏览器兼容性问题又被称为网页兼容性或网站兼容性问题 ...
- python day4 元组/字典/集合类知识点补充
目录 python day4 元组/字典/集合类知识点补充 1. 元组tuple知识点补充 2. 字典dict的知识点补充 3. 基本数据类型set 4. 三元运算,又叫三目运算 5. 深复制浅复制 ...
- python 知识点补充
python 知识点补充 简明 python 教程 r 或 R 来指定一个 原始(Raw) 字符串 Python 是强(Strongly)面向对象的,因为所有的一切都是对象, 包括数字.字符串与 函数 ...
- java基础知识点补充---二维数组
#java基础知识点补充---二维数组 首先定义一个二维数组 int[][] ns={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; 实现遍 ...
- disruptor笔记之八:知识点补充(终篇)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Jaeger知识点补充
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Mysql学习笔记(十)存储过程与函数 + 知识点补充(having与where的区别)
学习内容:存储程序与函数...这一章学的我是云里雾里的... 1.存储过程... Mysql存储过程是从mysql 5.0开始增加的一个新功能.存储过程的优点其实有很多,不过我觉得存储过程最重要的 ...
随机推荐
- vmware添加磁盘后linux无需重启识别的方法
cd /sys/class/scsi_host/ [root@centos4 scsi_host]# ls host0 host1 host2 有几个host就刷几次 [root@centos4 sc ...
- xpath路径前可用方法测试
$x("string-length(//h3[@class='t'])") 8 $x("string(//h3[@class='t'])") "XPa ...
- MVC 带扩展名的路由无法访问
在MVC中,路由是必不可少的,而且MVC对Url的重写非常方便,只需要在路由中配置相应的规则即可.假如我们需要给信息详情页配置路由,代码如下: routes.MapRoute( name: " ...
- web服务器tomcat入门实战
一.tomcat介绍1.1 引入tomcat Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Su ...
- saltstack自动化运维系列⑤之saltstack的配置管理详解
saltstack自动化运维系列⑤之saltstack的配置管理详解 配置管理初始化: a.服务端配置vim /etc/salt/master file_roots: base: - /srv/sal ...
- .net下web页生产一维条形码
code-39 前台 aspx <asp:Image ID="imgBandCode" runat="server" ImageUrl="~/W ...
- js实现星级评分效果(非常规5个li代码)
1. 前言 此方案受到JS单行写一个评级组件启发,自己写了一个简单Demo. 功能有正常滑动,动态显示实心星星个数:当点击确认,则保持当前的实心星星个数:再移动时未点击,则离开后还是保持之前的状态. ...
- OCM_第四天课程:Section2 —》GC 的安装和配置
注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...
- hdu3486 ST表区间最值+二分
还是挺简单的,但是区间处理的时候要注意一下 #include<iostream> #include<cstring> #include<cstdio> #inclu ...
- python 全栈开发,Day113(方法和函数的区别,yield,反射)
一.方法和函数的区别 面向对象 初级 class StarkConfig(object): def __init__(self,model_class): self.model_class = mod ...