728x90
반응형
게시글이 도움이 되었다면
게시글의 광고 클릭,
[로그인]이 필요 없는 ❤ 눌러주세요:)
SPEC
Swagger 3.0.0
Java 1.8
http://localhost:9000/swagger-ui/index.html/
에러
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "springfox.documentation.service.Parameter.getName()" is null at springfox.documentation.builders.ParameterMerger.lambda$mergedParameters$2(ParameterMerger.java:87) ~[springfox-core-3.0.0.jar:3.0.0] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) ~[?:?] at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602) ~[?:?] at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129) ~[?:?] at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527) ~[?:?] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513) ~[?:?] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) ~[?:?] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647) ~[?:?] at springfox.documentation.builders.ParameterMerger.mergedParameters(ParameterMerger.java:87) ~[springfox-core-3.0.0.jar:3.0.0] at springfox.documentation.builders.ParameterMerger.merged(ParameterMerger.java:64) ~[springfox-core-3.0.0.jar:3.0.0] at springfox.documentation.builders.OperationBuilder.parameters(OperationBuilder.java:224) ~[springfox-core-3.0.0.jar:3.0.0] at springfox.documentation.swagger.readers.operation.OperationImplicitParametersReader.apply(OperationImplicitParametersReader.java:58) ~[springfox-swagger-common-3.0.0.jar:3.0.0] at springfox.documentation.spring.web.plugins.DocumentationPluginsManager.operation(DocumentationPluginsManager.java:144) ~[springfox-spring-web-3.0.0.jar:3.0.0] at springfox.documentation.spring.web.readers.operation.ApiOperationReader.read(ApiOperationReader.java:72) ~[springfox-spring-web-3.0.0.jar:3.0.0] at springfox.documentation.spring.web.scanners.CachingOperationReader.lambda$new$0(CachingOperationReader.java:43) ~[springfox-spring-web-3.0.0.jar:3.0.0] at java.util.HashMap.computeIfAbsent(HashMap.java:1228) ~[?:?] at springfox.documentation.spring.web.scanners.CachingOperationReader.read(CachingOperationReader.java:48) ~[springfox-spring-web-3.0.0.jar:3.0.0] at springfox.documentation.spring.web.scanners.ApiDescriptionReader.read(ApiDescriptionReader.java:72) ~[springfox-spring-web-3.0.0.jar:3.0.0] at springfox.documentation.spring.web.scanners.ApiListingScanner.scan(ApiListingScanner.java:169) ~[springfox-spring-web-3.0.0.jar:3.0.0] at springfox.documentation.spring.web.scanners.ApiDocumentationScanner.scan(ApiDocumentationScanner.java:67) ~[springfox-spring-web-3.0.0.jar:3.0.0] at springfox.documentation.spring.web.plugins.AbstractDocumentationPluginsBootstrapper.scanDocumentation(AbstractDocumentationPluginsBootstrapper.java:96) ~[springfox-spring-web-3.0.0.jar:3.0.0] at springfox.documentation.spring.web.plugins.AbstractDocumentationPluginsBootstrapper.bootstrapDocumentationPlugins(AbstractDocumentationPluginsBootstrapper.java:82) ~[springfox-spring-web-3.0.0.jar:3.0.0] at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.start(DocumentationPluginsBootstrapper.java:100) ~[springfox-spring-web-3.0.0.jar:3.0.0] at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) ~[spring-context-5.3.22.jar:5.3.22] at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:935) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.10.jar:2.6.10] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) ~[spring-boot-2.6.10.jar:2.6.10] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) ~[spring-boot-2.6.10.jar:2.6.10] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.6.10.jar:2.6.10] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.10.jar:2.6.10] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.10.jar:2.6.10] at com.project.web.WebApplication.main(WebApplication.java:27) ~[classes/:?] at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:578) ~[?:?] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.6.10.jar:2.6.10]
원인
Parameter 의 Name 부분이 Null이라서 NullPointerException이 떨어진것이다.
입력했던 Param 정의부분을 다시 되짚어보면 (검색 기능을 이용하면) 금방 찾아서 해결 가능하다!
해결
단순 오타정도의 실수였다.
수정 전 코드 : name 부분을 빼먹었다.
@ApiImplicitParams({
@ApiImplicitParam(value = "현재 위치 페이지", required = true, defaultValue = "1"),
@ApiImplicitParam(value = "한 페이지당 노출 건 수", required = true, defaultValue = "10")
})
@ApiOperation(value = "페이지 있는 목록 출력")
수정 후 코드 : name 추가
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNo", value = "현재 위치 페이지", required = true, defaultValue = "1"),
@ApiImplicitParam(name = "pageSize", value = "한 페이지당 노출 건 수", required = true, defaultValue = "10")
})
@ApiOperation(value = "페이지 있는 목록 출력")
게시글이 도움이 되었다면
게시글의 광고 클릭,
[로그인]이 필요 없는 ❤ 눌러주세요:)
반응형