在集成了swagger2后,找了半天的缘故原由,创造利用@ApiImplicitParam这个表明可以办理这个问题。
对应下面的参数。
以是我们可以利用这个表明来办理我们所碰着的参考为空的问题。

而且已经集成了swagger2,以是我们只管即便来利用这个表明吧。
解释:
1.这里利用的版本:springfox-swagger2(2.4)springfox-swagger-ui (2.4)
2.这里是解释常用表明的含义和基本用法(也便是说已经对swagger进行集成完成)
没有集成的请拜会
SpringBoot集成springfox-swagger2构建restful API
SpringMVC集成springfox-swagger2构建restful API
官网WIKI
常用表明:
- @Api()用于类;
表示标识这个类是swagger的资源
- @ApiOperation()用于方法;
表示一个http要求的操作
- @ApiParam()用于方法,参数,字段解释;
表示对参数的添加元数据(解释或是否必填等)
- @ApiModel()用于类
表示对类进行解释,用于参数用实体类吸收
- @ApiModelProperty()用于方法,字段
表示对model属性的解释或者数据操作变动
- @ApiIgnore()用于类,方法,方法参数
表示这个方法或者类被忽略
- @ApiImplicitParam() 用于方法
表示单独的要求参数
- @ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam
详细利用举例解释:
@Api()
用于类;表示标识这个类是swagger的资源
tags–表示解释
value–也是解释,可以利用tags替代
但是tags如果有多个值,会天生多个list
@Api(value=\公众用户controller\公众,tags={\公众用户操作接口\"大众})@RestControllerpublic class UserController {}
效果图:
@ApiOperation() 用于方法;表示一个http要求的操作
value用于方法描述
notes用于提示内容
tags可以重新分组(视情形而用)
@ApiParam() 用于方法,参数,字段解释;表示对参数的添加元数据(解释或是否必填等)
name–参数名
value–参数解释
required–是否必填
@Api(value=\公众用户controller\"大众,tags={\公众用户操作接口\"大众})@RestControllerpublic class UserController { @ApiOperation(value=\"大众获取用户信息\公众,tags={\"大众获取用户信息copy\公众},notes=\公众把稳问题点\公众) @GetMapping(\"大众/getUserInfo\"大众) public User getUserInfo(@ApiParam(name=\"大众id\"大众,value=\"大众用户id\公众,required=true) Long id,@ApiParam(name=\"大众username\"大众,value=\"大众用户名\"大众) String username) { // userService可忽略,是业务逻辑 User user = userService.getUserInfo(); return user; }}
效果图:
@ApiModel()用于类 ;表示对类进行解释,用于参数用实体类吸收
value–表示工具名
description–描述
都可省略
@ApiModelProperty()用于方法,字段; 表示对model属性的解释或者数据操作变动
value–字段解释
name–重写属性名字
dataType–重写属性类型
required–是否必填
example–举例解释
hidden–隐蔽
@ApiModel(value=\"大众user工具\"大众,description=\"大众用户工具user\"大众)public class User implements Serializable{ private static final long serialVersionUID = 1L; @ApiModelProperty(value=\公众用户名\公众,name=\"大众username\"大众,example=\公众xingguo\"大众) private String username; @ApiModelProperty(value=\公众状态\公众,name=\"大众state\"大众,required=true) private Integer state; private String password; private String nickName; private Integer isDeleted; @ApiModelProperty(value=\公众id数组\"大众,hidden=true) private String[] ids; private List<String> idList; //省略get/set}
@ApiOperation(\公众变动用户信息\公众) @PostMapping(\"大众/updateUserInfo\公众) public int updateUserInfo(@RequestBody @ApiParam(name=\公众用户工具\公众,value=\"大众传入json格式\"大众,required=true) User user){ int num = userService.updateUserInfo(user); return num; }
效果图:
@ApiIgnore()用于类或者方法上,可以不被swagger显示在页面上
比较大略, 这里不做举例
@ApiImplicitParam() 用于方法
表示单独的要求参数
@ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam
name–参数ming
value–参数解释
dataType–数据类型
paramType–参数类型
example–举例解释
@ApiOperation(\公众查询测试\"大众) @GetMapping(\"大众select\"大众) //@ApiImplicitParam(name=\"大众name\"大众,value=\"大众用户名\"大众,dataType=\"大众String\"大众, paramType = \"大众query\公众) @ApiImplicitParams({ @ApiImplicitParam(name=\"大众name\公众,value=\"大众用户名\公众,dataType=\"大众string\"大众, paramType = \"大众query\"大众,example=\公众xingguo\"大众), @ApiImplicitParam(name=\"大众id\公众,value=\"大众用户id\"大众,dataType=\"大众long\公众, paramType = \公众query\"大众)}) public void select(){ }
效果图: