1.项目启动报错
微服务项目引入Swagger,某段时间开始Swagger文档不能使用,虽然项目运行正常使用也正常,但每次启动都会报错。
ERROR [springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.scanDocumentation:98] - [
Unable to scan documentation context default
]
java.lang.NullPointerException: null
at springfox.documentation.schema.Example.equals(Example.java:131)
at java.util.Objects.equals(Objects.java:59)
at springfox.documentation.service.RequestParameter.equals(RequestParameter.java:132)
at java.util.HashMap.putVal(HashMap.java:636)
at java.util.HashMap.put(HashMap.java:613)
at java.util.HashSet.add(HashSet.java:220)
at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
2.解决方案
重写Example.java类的equals方法,对空进行判断。
直接在src.main.java下直接创建与Example类相同的包springfox.documentation.schema,然后在其下创建Example.java类,复制源文件的内容后,重写equals方法:
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } if(Objects.equals("",o)){ return false; } if (!o.toString().equals("")) { Example example = (Example) o; return id.equals(example.id) && Objects.equals(summary, example.summary) && Objects.equals(description, example.description) && value.equals(example.value) && externalValue.equals(example.externalValue) && mediaType.equals(example.mediaType) && extensions.equals(example.extensions); } else { return false; } }
2046

被折叠的 条评论
为什么被折叠?



