Android Retrofit2 Request URL Path를 유동적으로..!
BASE URL은 같고, POST 시 요청하는 Request URL의 path 가 유동적으로 변하기 때문에 이에 맞게 변경 및 요청이 가야한다는 요구사항이 있었다.
문제 해결 접근
@GET 을 사용할 때 @Path 를 사용하여 request url 을 직접 설정할 수 있었기에 같은 방법으로 접근하였다.
@GET("/info/{user}")
fun getUserInfo(
@Path("user") user: String
): Call<UserModel>
이런식으로 user 파라미터로 Codejun 을 전송하게 되면 request url 은 /info/Codejun 이 되어 request 한다.
그래서 post에서도 따라해봤다..
@POST("/{custom_uri}")
fun requestData(
@Path("custom_uri") customUri: String
): Call<TestRequestData>
이런식으로 하면 되지 않을까..? 했다.
그런데..
검색 키워드도 생각이 잘 나지 않고.. 그냥 스택오버플로 떠돌아 다니다가 방법을 찾아내었다. 생각보다 간단함.
해결 방법
@POST("/{custom_uri}")
fun requestData(
@Path("custom_uri", encoded = true) customUri: String
): Call<TestRequestData>
보이는 것 처럼 그냥 Path 넣고, encoded = true 옵션만 추가해주면 된다.
끝!
'Android' 카테고리의 다른 글
[안드로이드 모듈] 외부 종속 라이브러리 같이 배포 (0) | 2020.12.17 |
---|---|
Android Studio 이전 버전 세팅 불러오는 방법 (0) | 2020.08.13 |
Cannot invoke setValue on a background thread 해결 방법 (0) | 2020.08.03 |
RecyclerView에 줄 라인 추가하기(Divider) (0) | 2020.07.27 |
Layout Inspector로 레이아웃 디버깅하기 (0) | 2020.06.01 |
댓글
이 글 공유하기
다른 글
-
[안드로이드 모듈] 외부 종속 라이브러리 같이 배포
[안드로이드 모듈] 외부 종속 라이브러리 같이 배포
2020.12.17 -
Android Studio 이전 버전 세팅 불러오는 방법
Android Studio 이전 버전 세팅 불러오는 방법
2020.08.13 -
Cannot invoke setValue on a background thread 해결 방법
Cannot invoke setValue on a background thread 해결 방법
2020.08.03 -
RecyclerView에 줄 라인 추가하기(Divider)
RecyclerView에 줄 라인 추가하기(Divider)
2020.07.27