본문 바로가기
관리자

Programming-[Backend]/Spring

[에러] Cannot deserialize instance of, Leading zeroes not allowed, Swagger 스웨거 날짜, 리스트 입력

728x90
반응형

현상

1. Cannot deserialize instance of...

 

2. Leading zeroes not allowed...

 


원인

1. (Swagger에서) 파라미터 값을 잘못 입력하여 Java 가 해당 값들을 제대로 파싱하지 못하는 경우

2. (Swagger에서) 파라미터 값으로 날짜를 입력할 때, 0을 앞에 붙인 경우. 예를 들어 2020-08-23으로 입력 (2020-8-23으로 입력해야함)

 


해결

선제조건

 

기본적으로 파라미터의 @Schema 정의 시에, example 부분을 안적으면 Swagger의 입력화면에서 자동으로 입력 양식을 잡아준다.

컨트롤러에서 파라미터 부분에 @RequestBody 어노테이션을 붙여준 경우이다.

파라미터로 날짜를 정의할 때, @DateTimeFormat으로 날짜 형식을 정해준 경우이다.

 

 

 

Swagger 에서 아래와 같은 양식으로 입력해주어야 한다.(Swagger 3.0)

1 : 전체는 중괄호 {} 로 감싸지고, key 값은 " "으로 감싼다.

2 : 내부에 있는 값도 key값만 " "로 감싼다.

3 : list의 경우 대괄호 []로 감싼다. 날짜는 연월일을 ,로 구분한다. 월 앞에 0을 붙이면 안된다. 08(x), 8(o)

4. 다른 필드명은 , 후에 같은 방식으로 작성한다.

728x90
반응형