query 입력은 부재·빈 값·중복 키·순서를 구분한다
Map<String,String> 하나로 줄이면 중복과 존재 의미가 사라질 수 있습니다.
| 입력 | 의미 | 모델 |
|---|---|---|
| ?a | 키 존재·값 없음 | Optional/empty |
| ?a= | 빈 문자열 | "" |
| ?a=1&a=2 | 중복 값 | List<String> |
| ? | 빈 query | empty collection |
| invalid % | 문법 오류 | 400 |
핵심: 업무가 요구하는 cardinality와 최대 개수·길이를 parser 경계에서 제한합니다.