안녕하세요
앱에서 서버에 접근하는 부분이 굉장히 많습니다.
여태까지 다양한 형태의 json을 만들어서 보냈었습니다.
그리고 여태까지 잘 전송했었구요..
이번에 새로 다시 json으로 보낼 데이터가 있어서 서버에 접근을 하는데
500에러가 뜨는데.. 어디가 문제인지 도저히 모르겠습니다..
{
"key1":"value1",
"key2":value2(int),
"key3":{"key4":"value3", "key5":"value5"}
}
이번에 이런식으로 데이터를 보내야해서 저 모양대로 그대로 만들어서 서버에 보냈습니다.
그런데 알수없는 500에러가 뜹니다.
아무래도 key3 부분에서 문제가 생긴것 같습니다..
기존에
{
"key1":"value1",
"key2":value2(int),
}
key3을 제외한 형태의 json 데이터를 보낼때는 문제가 없었습니다.
그런데 이번에 처음으로 JSONObject 안에 JSONObject를 넣어서 보내려니 에러가 발생한것 같습니다.
문제를 하나하나 찾아봤는데, 문제점은 Media type인것 같습니다.
안드로이드에서가 아닌 Django에서 저 제이슨 형태로 보냈을때는 서버 ok가 떴습니다.
그래서 setRequestProperty가 문제인것 같은데 한번 봐주시면 감사하겠습니다.
현재 제 코드에는 이렇게 되어있습니다(Django에서 테스트 할때 application/json로 보냈을때 성공했습니다)
httpURLConnection.setRequestProperty("Accept", "application/json");
httpURLConnection.setRequestProperty("Content-Type", "application/json");
httpURLConnection.setRequestProperty("cache-control", "no-cache");
httpURLConnection.setRequestProperty("cache-length", "length");
보내는거는 String으로 직접 만들어서 보냅니다
String requestData = {"~~~~~~"} //위와 똑같이 만들어서 보냅니다(JSONObject 클래스로는 안만들고있습니다)
os = new BufferedOutputStream(httpURLConnection.getOutputStream());
os.write(requestData.getBytes());
os.flush();
다른 JsonArray안에 JsonObject, JsonArray안에 (JsonArray+JsonObject) 등등의 형태를
보냈을때는 문제가 발생한적이 한번도 없었습니다..
그런데 이번에 JsonObject 안에 JsonObject가 들어있을때만 문제가 발생합니다.
읽어주셔서 감사합니다..