swagger知识点补充

1. swagger知识点补充

1.1. 概述

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

1.2. 知识点

1.2.1. 模型例子

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

751560-20190429152956654-1299350057.png

1.2.2. 判空

  1. 如上图所示,这不是swagger知识点,这里顺带讲下,需要在controller层入参加上@Vaild
    751560-20190429153259282-678306125.png
  2. 输入参数有误,效果如下
    751560-20190429153341688-1607718757.png

1.2.3. controller层中文字标注

  1. 效果如下,网上的例子大多没有设该属性
    751560-20190429153719750-1875586923.png
  2. 实现方式
    751560-20190429153912065-1105367362.png

1.2.4. 模型填充默认值

  1. 如下例子:swagger打开该接口的默认配置就是example配的
    751560-20190429175533447-1565120390.png
    751560-20190429175552317-2131606881.png

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));

转载于:https://www.cnblogs.com/sky-chen/p/10793409.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值