공공데이터 사이트에서 api를 받아서 활용하는중에 계속 같은에러가 발생하였습니다.
에러를 찾아보니 GsonBuilder().setLenient().create() 를 컨버터에 붙여주면 된다는 글이 있었지만 해결되지 않았습니다.
json 규격도 다 맞고, 혹시나 url이 잘못됐나 싶어 포스트맨으로도 확인해보았으나 데이터가 제대로 들어왔습니다.
인터셉터에서 띄워주는 로그를 보니 공공데이터에서 받은 서비스키가 다르게 나오고있었습니다.
제가 작성한 url 중 서비스키가 d49%3Do29%2R 이런식이었다면 d49%25253Do29%25252R 이렇게 나오고 있었는데
원인을 찾아보니 자동으로 utf-8로 인코딩 돼서 서비스키가 변경되어 나오는 것이었습니다.
공공데이터에서 받은 서비스키가 인코딩 서비스키였는데 인코딩된 서비스키를 또 인코딩을 했기때문에 나는 에러였습니다.
그래서 인코딩이 된건지 안된거지를 판단할수 있게 encoded = true 를 추가하여 자동으로 인코딩 되지 않게 해줬더니 원하는 값이 잘 들어왔습니다!
'개발 > ANDROID' 카테고리의 다른 글
[Android] 코루틴 Under the hood (0) | 2020.10.16 |
---|---|
[Android] 코루틴 Coroutine Context and Dispatchers (0) | 2020.10.16 |
[Android] 코루틴 Composing Suspending Functions (0) | 2020.10.14 |
[Android] 코루틴 Cancellation and Timeouts (0) | 2020.10.09 |
[Android] 코루틴 기초 (0) | 2020.10.07 |
댓글