概述
添加maven配置
pom.xml
文件中添加如下配置后reimport
一下
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
</exclusion>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--引入1.5.21版本的annotations和models依赖-->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.21</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.21</version>
</dependency>
启动类加上注解
在自己的项目启动类上加上注解
其中 @EnableSwaggerBootstrapUI
非必须(增强ui功能用的)
@EnableSwagger2
@EnableSwaggerBootstrapUI
加上一些文档注解
介绍几个基础的
@ApiOperation
用于接口方法上@ApiModel
用于实体类上@ApiModelProperty
用于实体属性上
访问地址
部署机器的ip
:部署端口号
/doc.html
如 http://localhost:8080/doc.html
顺便聊一下一个swagger 异常
java.lang.NumberFormatException: For input string: ""
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.base/java.lang.Long.parseLong(Long.java:702)
at java.base/java.lang.Long.valueOf(Long.java:1144)
at io.swagger.models.parameters.AbstractSerializableParameter.getExample(AbstractSerializableParameter.java:412)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:688)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119)
出现这个异常是由于@ApiModelProperty
注解的example
默认值是""
, 这就导致如果你字段为数字类型则会出现一个转型错误
访问ui页面的时候生成文档会调用getExample
方法就会触发这个错误
按我上面的
pom
配置可以避免掉这个错误, 当然文档写得足够规范(每个字段都自定义example
值)是不会有这个错误的
最后
以上就是缓慢白昼为你收集整理的3步 引入 swagger2 生成接口文档的全部内容,希望文章能够帮你解决3步 引入 swagger2 生成接口文档所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复