【Swagger】出现java.lang.IndexOutOfBoundsException: Index: 1
2017-08-30 15:51
316 查看
公司项目中庸Swagger配置web应用的RESTFUL接口的文档,配置方式如下:
1. 在POM添加Swagger依赖包
<!-- swagger-mvc -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.0</version>
</dependency>
<!-- swagger-mvc -->
2. 在Spring MVC配置文件添加
<bean class="springfox.documentation.swagger2.configuration.Swagger2DocumentationConfiguration" id="swagger2Config"/>
添加静态资源配置脚本
<mvc:resources location="classpath:/META-INF/resources/" mapping="swagger-ui.html"/>
<mvc:resources location="classpath:/META-INF/resources/webjars/" mapping="/webjars/**"/>
3. 重启web应用访问
http://{ip}:{port}/{project}/swagger-ui.html
结果出现了java.lang.IndexOutOfBoundsException:
Index: 1
问题原因在我门项目中使用到了net.sf.JSONObject作为Api的响应参数
java.lang.IndexOutOfBoundsException: Index: 1
at java.util.Collections$EmptyList.get(Collections.java:4454)
at springfox.documentation.swagger2.mappers.ModelMapper.typeOfValue(ModelMapper.java:109)
at springfox.documentation.swagger2.mappers.ModelMapper.mapProperties(ModelMapper.java:91)
at springfox.documentation.swagger2.mappers.ModelMapper.mapModels(ModelMapper.java:65)
at springfox.documentation.swagger2.mappers.ModelMapper.modelsFromApiListings(ModelMapper.java:190)
at springfox.documentation.swagger2.mappers.ServiceModelToSwagger2MapperImpl.mapDocumentation(ServiceModelToSwagger2MapperImpl.java:50)
at springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(Swagger2Controller.java:76)
通过Swagger2的官网【issues】https://github.com/springfox/springfox/issues/1129发现出现类似的问题
然后搜索Swagger2最新的版本代码发现已经修复该问题so解决办法
<!-- swagger-mvc -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
<!-- swagger-mvc -->
1. 在POM添加Swagger依赖包
<!-- swagger-mvc -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.0</version>
</dependency>
<!-- swagger-mvc -->
2. 在Spring MVC配置文件添加
<bean class="springfox.documentation.swagger2.configuration.Swagger2DocumentationConfiguration" id="swagger2Config"/>
添加静态资源配置脚本
<mvc:resources location="classpath:/META-INF/resources/" mapping="swagger-ui.html"/>
<mvc:resources location="classpath:/META-INF/resources/webjars/" mapping="/webjars/**"/>
3. 重启web应用访问
http://{ip}:{port}/{project}/swagger-ui.html
结果出现了java.lang.IndexOutOfBoundsException:
Index: 1
问题原因在我门项目中使用到了net.sf.JSONObject作为Api的响应参数
java.lang.IndexOutOfBoundsException: Index: 1
at java.util.Collections$EmptyList.get(Collections.java:4454)
at springfox.documentation.swagger2.mappers.ModelMapper.typeOfValue(ModelMapper.java:109)
at springfox.documentation.swagger2.mappers.ModelMapper.mapProperties(ModelMapper.java:91)
at springfox.documentation.swagger2.mappers.ModelMapper.mapModels(ModelMapper.java:65)
at springfox.documentation.swagger2.mappers.ModelMapper.modelsFromApiListings(ModelMapper.java:190)
at springfox.documentation.swagger2.mappers.ServiceModelToSwagger2MapperImpl.mapDocumentation(ServiceModelToSwagger2MapperImpl.java:50)
at springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(Swagger2Controller.java:76)
通过Swagger2的官网【issues】https://github.com/springfox/springfox/issues/1129发现出现类似的问题
然后搜索Swagger2最新的版本代码发现已经修复该问题so解决办法
<!-- swagger-mvc -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
<!-- swagger-mvc -->
相关文章推荐
- Nutch 遇见hits.getHits()出现java.lang.ArrayIndexOutOfBoundsException解决办法
- Recyclerview 出现 java.lang.IndexOutOfBoundsException: Inconsistency detected 异常
- [置顶] android使用getItemViewType时出现java.lang.ArrayIndexOutOfBoundsException的错误
- 使用Split分割字符串出现数组越界异常java.lang.ArrayIndexOutOfBoundsException
- RecyclerView 出现java.lang.IndexOutOfBoundsException: Index: 13, Size: 12 问题解决
- 在Eclipse中测试Main函数运行出现Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:0
- hive脚本出现Error: java.lang.RuntimeException: Error in configuring object和Caused by: java.lang.IndexOutOfBoundsException: Index: 9, Size: 9
- 解决Redisson出现Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'create' threw exception; nested exception is java.lang.ArrayIndexOutOfBoundsException: 0的问题
- Android listview 在OnItemClick初出现下标越界 java.lang.IndexOutOfBoundsException
- 滑动RecyclerView时出现异常: java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 6(offset:6).state:30
- weblogic12C出现“java.lang.ArrayIndexOutOfBoundsException: 48188”
- Retrofit2.0 和Instant Run 冲突导致 java.lang.ArrayIndexOutOfBoundsException
- java.lang.ArrayIndexOutOfBoundsException: 160
- java.lang.ArrayIndexOutOfBoundsException
- java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!
- java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
- java.lang.IndexOutOfBoundsException: Invalid index 17, size is 10
- 解决kylin报错:java.lang.ArrayIndexOutOfBoundsException: -1
- RecyclerView内部BUG: java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item positio
- java.lang.IndexOutOfBoundsException: Index: 2, Size: 2