Axios 와 GET 그리고 query string 에 대한 조그마한 고찰
최근 Axios 를 사용하면서 조금 헷갈리는 부분이 있었다.
GET 메소드의 파라미터 값에 null, undefined, 빈 배열 값이 들어있는 경우
- query string 에서 해당 key - value 자체가 누락된다.
원인은 axios 에서 query string 으로 변환하기위해 serialize 하는 과정에서 값이 null, undefined, 빈 배열 인 경우에는 query string 에서 누락이 된다.
그럼 이것이 버그일까? 아니다. 왜냐하면 query string 에서 유효한 빈값은 string 형태의 빈값인 경우를 한정하여 기능이 구현된 것 같다.
일단 axios 에선 이와 관련하여 아직도 이슈이다. 첫 이슈 등록이 2017년이었는데 5년동안 별 진전이 없다.
보통 search 기능을 구현할때 빈 필터 값은 "" 으로 보내서 이때까지 이런 이슈를 딱히 못마주쳤던 것 같다.
이외 JSON.stringfy 는 undefined 값을 누락 시킨다
이는 ECMA 스펙에 의해 기능이 이렇게 구현되어 있다.
참고자료
- https://github.com/axios/axios/issues/1139
- https://stackoverflow.com/questions/31284216/why-does-json-stringify-ignore-keys-whose-values-are-undefined
'IT > Javascript' 카테고리의 다른 글
[javascript] pdf-lib 라이브러리 Error: WinAnsi cannot encode 한글 사용시 오류 (0) | 2023.11.08 |
---|---|
[npm] github npm private package 작성기 (0) | 2023.10.25 |
[javascript] moment 라이브러리 deprecated (0) | 2021.09.27 |