일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 코딩테스트
- foldindexed
- 알고리즘 인증_2주차
- 취준기록
- 다시정리하기
- 알고리즘 인증
- Filter
- 다시 정리해야함
- filternot
- iPortfolio
- recyclerview
- 알고리즘 인증_1주차
- array랑 list
- 코틀린
- 다시봐
- Today
- Total
Moments of growth
[안드로이드 오류 해결] java.lang.IllegalArgumentException: URL query string "email={email}" must not have replace block. For dynamic query parameters use @Query. 본문
[안드로이드 오류 해결] java.lang.IllegalArgumentException: URL query string "email={email}" must not have replace block. For dynamic query parameters use @Query.
뮤링이 2021. 11. 20. 01:15📌 user 이메일로 찾기 구현
@GET을 사용할 때 지금 여기는 경로가 /user?email=email 이기 때문에
@GET("user?email={email}") //잘못된 코드
계속 위의 코드로 작성을 했었다
그러자 아래와 같은 오류가 떴다
🔨 해결방법
📌 @Path를 사용해야하는 경우 : 서버 Url Path가 동적으로 들어가야할 때
@GET("chulim/tistory/{id}/videos")
fun getVideo(@Path("id") id: String): Call<Videos>
📌 @Query를 사용해야하는 경우 : Url에 query parameter를 넣어줄 경우
Url로 표현한다면 chulim/tistory/streams/?query=
@GET("chulim/tistory/streams")
fun searchChannels(@Query("query") query: String): Call<ChannelData>
[참고 블로그] https://gwi02379.tistory.com/3
[Android] Retrofit 2.0 사용 방법 (Kotlin) - 1. 시작하기
Retrofit 2.0 사용 방법에 대한 포스팅을 해보려고 합니다. 서버와 통신을 하는 데 많이 쓰는 아주 유용한 라이브러리입니다. HttpURLConnection을 사용하여 통신을 위한 코드를 직접 작성할 수도 있지만
gwi02379.tistory.com
-> 진짜 이해하기 쉽게 잘 설명되어있다, 더 추가적으로 궁금한 점은 여기서 보면 될 것 같다
📌 여기서 쿼리 부분인 @Get() 안에 ?email= 이 부분을 넣으면 안된다는 것을 발견해서 @GET("user")로 변경했다
✔ @Path를 사용할지 @Query를 사용할지 헷갈렸는데 ?email=email 이 부분이 쿼리문이므로 @Query를 사용했다
실제로 @Path를 사용하면 아래의 오류가 난다.
📌 그리고 FindUserActivity.kt에서 이렇게 사용한다.
✔ GET은 body값이 없기 때문에 RequestGetUserByEmailData.kt는 필요 없이 바로 binding.etUseremail.text.toString()으로 받은 값을 인자로 준다.
✔ 그럼 쿼리문에 email = email ←이 부분에 들어가게 된다.
'Android [오류 해결] 🔨' 카테고리의 다른 글
[안드로이드] The emulator process for AVD has terminated (0) | 2022.07.11 |
---|---|
서버에서 특정 데이터가 안 받아져 올 때 (0) | 2022.06.12 |
jitpack.io 추가 오류 (0) | 2022.01.08 |
[Android 오류 해결] com.google.gson.JsonSyntaxException: java.lang.IllegalStateException (0) | 2021.11.20 |
[Android 오류 해결] Task 'wrapper' not found in project ':app'. (0) | 2021.11.20 |