Google App Engine의 Java 런타임 용 UrlFetch 서비스를 사용하여 HTTP PUT 요청을 수행하려면 어떻게해야합니까?Java GAE UrlFetch가 HTTP PUT을 지원합니까?
POST 요청을 보낼 것입니다 내 응용 프로그램에서 다음 코드 :
URL url = ...;
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(MAX_TIMEOUT); // Maximum allowable timeout on GAE of 60 seconds
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/json; charset=utf-8");
OutputStreamWriter writer = null;
try {
writer = new OutputStreamWriter(conn.getOutputStream(), Charset.forName("utf-8"));
writer.write(jsonContent);
} finally {
if (writer != null)
writer.close();
}
}
InputStream inStream = null;
E response = null; // Unmarshalled using Jackson
try {
inStream = conn.getInputStream();
if (status != 204) { // NO CONTENT => No need to use Jackson to deserialize!
response = mapper.readValue(inStream, typeRef);
}
} finally {
if (inStream != null) {
inStream.close();
}
}
내가 PUT
에 대한 POST
로 같은 일을 시도,하지만 난 허용되지 방법에 대한 HTTP 오류가 점점 계속. 도와 주셔서 감사합니다.
참조 : GAE URL의 파이썬의 버전 가져 오기로 https://developers.google.com/appengine/docs/java/urlfetch/overview
불행하게도, GAE 자바 (https://developers.google.com/appengine/docs/python/urlfetch/overview을) 문서의 좋은 없습니다. Google의 모든 사용자가 이유를 말하고 싶습니까?
** 참고 : **'typeRef'는 TypeReference 인스턴스,'mapper'은 ObjectMapper의 인스턴스이다 – ecbrodie