본문 바로가기

개발중/troubleshooting

java.lang.NumberFormatException: For input string: ""

728x90
반응형
@ApiParam(  
value    = "Paging Limit Num", 
name     = "limitNum", 
type     = "int",
example  = "")  
@RequestParam (value="limitNum", defaultValue="0")​

java.lang.NumberFormatException: For input string: ""

WARN i.s.m.p.AbstractSerializableParameter - Illegal DefaultValue 0 for parameter type integer 
java.lang.NumberFormatException: For input string: ""
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
at java.base/java.lang.Long.parseLong(Long.java:717)
at java.base/java.lang.Long.valueOf(Long.java:1159)
at io.swagger.models.parameters.AbstractSerializableParameter.getExample(AbstractSerializableParameter.java:412)

 

스웨거를 실행 시키자 마자 위와 같은 에러가 발생 했을 경우에


구글링 1

 

의심 가는 상황 중 하나가 int 형을 받을 때 DefaultValue 를 0 으로 설정 했을 때 이다.

 

@RequestParam (defaultValue="0")

@Nullable int lmbrGap

 

하지만 다른 예제에서도 아래처럼 사용한다.


구글링 2

 

살짝 이 문제인 것 같다.

 


찾았다, 해결

 

아래처럼 example 이 "" 로 되어 있었는데

@ApiParam( 
value    = "Paging Limit Num", 
name     = "limitNum", 
type     = "int",
example  = "")  
@RequestParam (value="limitNum", defaultValue="0")

 

example 을 "0" 으로 바꾸니 사라졌다.

@ApiParam( 
value    = "Paging Limit Num", 
name     = "limitNum", 
type     = "int",
example  = "0")  
@RequestParam (value="limitNum", defaultValue="0")

 

타입 변환 에러가 왜 나왔는지 이제야 알 것 같다.


 

728x90
반응형