마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

[retrofit2] @Get 서버에 Array로 보내는 방법.

0 추천
@GET(MY_URL)
    Call<List<MyData>> getMyData(@Query("myParam")String[] myParam);

이런식으로 보내니 못 받던데.
인자값을 Array로 보내는 다른 방법이 있나요?
목마른어린양 (960 포인트) 님이 2017년 11월 29일 질문

1개의 답변

0 추천

JSON Array 형태로 보내면 됩니다.

 
minor (13,710 포인트) 님이 2017년 11월 29일 답변
@GET(MY_URL)
    Call<List<Nation>> getMyData(@Query("myParam")JSONArray myJsonArray);

이렇게 바꿨는데도 안 됩니다.

   myJsonArray는
   for문으로 JsonArray객체안에 String만 넣었습니다.
_____________________________________________________
   String[] str = {"aa", "bb", "cc", "dd"};
   JSONArray a = new JSONArray();
   for (String  s :   str) {
            a.put(s);
        }
_____________________________________________________

   PHP서버의 모든 로직은 정상입니다.(로직이 간단해서 실수할 것도 없습니다.)
   Html에서 넘긴 Array는 잘 받아냅니다.


   그래서 myJsonArray를 String값으로 toString해서  넣었는데도
   받아내지 못합니다.


   그래서 myJsonArray를 PHP서버를 통해 그대로 돌려받아온 값을 디버깅해서 보면

   "["aa","bb","cc","dd"]"

   이렇게 나오는데.

   서버로 보낼때 JsonArray를 잘못 만들어서 보낸것 같은데.
   어떻게 만드는 게 맞을까요..?
...