[Android][Kotlin] Retrofit annotation (@Path, @Query, @Field, @Body)
@Path와 @Query의 차이점
@Path: path variable을 위함
api/member/{username}
@Query: query parameter 위함
api/member?username=
@Field와 @Query의 차이점
@Query:사용시 파라미터를 url 뒤에 붙여서 전달하는데, 유저들에게 쉽게 노출된다.
@Field: 보안을 위해 url 뒤에 붙이지 않고, 파라미터를 숨긴다. (@FormUrlEncoded 사용)
stackoverflow.com/questions/57848058/what-is-the-difference-between-field-and-query-in-retrofit
What is the difference between @Field and @Query in retrofit
In some POST requests, I don't know when to use @Field with FormUrlEncoded and when to use @Query For Example: @POST("list-products-for-sale") Call
stackoverflow.com
@Body와 @Field의 차이점
@FIeld: 인자를 @FormUrlEncoded를 사용해서 전달한다. (key=value&key=value의 형태)
@Body: Json형태의 하나의 객체만 전달. {key: value, key:value} 이런식으로
결론적으로는 형태의 차이! Field로 넘기려는 정보를 객체를 생성해서 Body로 넘겨도 된다.
youngest-programming.tistory.com/135
[안드로이드] Retrofit2 @Body @Field 차이
프로젝트를 하고 노드로 서버를 구성하고 안드로이드 클라이언트 Retrofit2 통신에서 평소 @Field를 사용했는데, 계속 Json으로 서버에서 못받고 이상한 값이 넘어오는 현상이발생했다. 서버문제인
youngest-programming.tistory.com