写点什么

前端同事老是说 swagger 不好用,我用了 knife4j 后,同事爽得不行

用户头像
极客good
关注
发布于: 刚刚

@Bean


@ConditionalOnExpression("'{spring.profiles.active}'=='dev' || '${spring.profiles.active}'=='isstest'")


public Docket createRestApi() {


ParameterBuilder tokenPar = new ParameterBuilder();


List<Parameter> pars = new ArrayList<>();


tokenPar.name("x-token").description("token 令牌:Bearer").defaultValue("Bearer ").modelRef(new ModelRef("string")).parameterType("header").required(false).build();


pars.add(tokenPar.build());


return new Docket(DocumentationType.SWAGGER_2)


.select()


.apis(RequestHandlerSelectors.basePackage("com.xy.cloud.search.controller"))


.paths(PathSelectors.any())


.build()


.globalOperationParameters(pars)


.apiInfo(apiInfo());


}


private ApiInfo apiInfo() {


return new ApiInfoBuilder()


.title("搜索文档中心 API")


.version("v1")


.build();


}


}


常用注解使用:


@Api()


作用在类上,用来标注该类具体实现内容。


参数:


tags:类标签,一般用来写类的名称或作用。(常用)


description:可描述描述该类作用。


@ApiOperation()


用于方法的说明


参数:


value :方法说明(常用)


notes :注释说明


httpMethod : 说明这个方法被请求的方式


response :方法的返回值的类型


@ApiOperationSupport()


(knife4j 增加特性)用于接口方法排序,作者信息描述等。


参数:


order:排序


author:作者信息


@ApiImplicitParam()


对单个参数的说明


参数:


name :参数名。


value : 参数的具体意义,作用。(常用)


required : 参数是否必填。 (常用)


dataType :参数的数据类型。 (常用)


paramType :查询参数类型,这里有几种形式:


类型     作用


path    以地址的形式提交数据


query   直接跟参数完成自动映射赋值


body   以流的形式提交 仅支持 POST


header  参数在 request headers 里边提交


form   以 form 表单的形式提交 仅支持 POST


@ApiModel()


用于描述一个数据模型的信息,即我们常用的实体、VO 类、DTO 类等描述


参数:


value : 数据模型名称。(常用)


description:具体描述


parent:父类


@ApiModelProperty()


用于描述数据模型的属性信息


参数:


value:字段说明 (常用)


name:重写属性名字


dataType:重写属性类型


required:是否必填 (常用)


example:举例说明 (常用)


hidden:隐藏


@ApiIgnore


自动生成接口说明时忽略


类:


@Api(value = "搜索中心中文 api")


方法:


@ApiOperation(value="查询信息",notes="查


【一线大厂Java面试题解析+核心总结学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


询信息",httpMethod="POST")


@ApiImplicitParam(name = "DirectoryDto" ,value ="文档 dto",dataType ="json",required = false)


实体:


@ApiModel("文档 dto 返回实体")


实体属性:


@ApiModelProperty(value = "搜索名称",dataType = "String",required=true)


private String name;


@ApiModelProperty(value = "主键 id",dataType = "String",required=false)


private String id;


@ApiModelProperty(value = "地址",dataType = "String",required=false)


private String address;

用户头像

极客good

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
前端同事老是说swagger不好用,我用了knife4j后,同事爽得不行