springfox 源码分析(二十一) 忽略参数Class类型

本文探讨如何在使用Springfox Swagger时忽略特定的参数Class类型,以避免在文档中显示不必要的参数。文章介绍了两种方法:一是在方法参数前添加注解,二是通过创建Docket对象时指定忽略的Class。这两种方法可以有效处理不需要传参的对象,例如HttpSession,以优化API文档的展示。
摘要由CSDN通过智能技术生成

我们在前面的源码过程中,了解了springfox的基本工作原理,接下来,我们可以通过使用springfox给我们提供的外部接口,来处理一些我们工作中碰到的问题,或者进行自定义扩展

本篇主要介绍如何来忽略某些特定的参数Class类型

先举一个例子,假如我们的接口是这样的:

@PostMapping("/createOr33der")
@ApiOperation(value = "创建订单")
public Rest<Order> createOrdetr(@RequestBody Order order, HttpSession httpSession){
    Rest<Order> r=new Rest<>();
    r.setData(order);
    return r;
}

我们在我们的方法上接收了一个HttpSession的参数对象,此时,我们来看我们的文档页面效果

在我们的文档介绍页面中,多出了很多我们自认为不必要的参数,因为HttpSession对象我们并不需要传参处理,该对象我们是直接拿来使用对session进行操作的

那么,针对这种情况,我们应该如何处理呢(即把HttpSession的参数处理掉,不显示)?

目前有两种方法:

  • 在方法的参数前,添加@ApiIgnore注解
  • 在创建Docket对象时,指定忽略相关的Class

第一种方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Python 中,一般情况下不需要声明函数的参数类型,因为 Python 是一种动态类型语言,变量的类型在运行时才被确定。但是,如果你想让函数的参数类型只能是某个特定的类,可以考虑使用类型提示(Type Hints)。 在 Python 3.5 及以上版本中,可以使用类型提示来指定函数参数类型。例如,如果你想让一个成员函数的参数类型为该类本身,可以这样写: ```python class MyClass: def my_func(self, other: 'MyClass') -> None: # 函数体 ``` 这里使用了字符串类型的注释,来指定参数类型为 MyClass 类本身。注意,这种方式只是一种提示,Python 解释器并不会强制检查参数类型。但是,如果你使用了类型检查工具,如 mypy,就可以在静态分析代码时检查出类型错误。 需要注意的是,在定义类时,如果要在成员函数中使用该类本身作为参数类型,需要在类定义之前使用字符串类型的注释来声明该类。否则,在成员函数中使用该类作为类型时会报 NameError。例如: ```python # 错误示例 class MyClass: def my_func(self, other: MyClass) -> None: # NameError: name 'MyClass' is not defined # 函数体 # 正确示例 class MyClass: pass class MyClass2: def my_func(self, other: 'MyClass') -> None: # 函数体 ``` 在第一个示例中,因为 MyClass 在定义 my_func 函数之前还没有定义,所以会报 NameError。而在第二个示例中,使用了字符串类型的注释来声明参数类型,就可以避免这个问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值