2013-04-28 2 views
0

POST Taskqueue에 작은 JSON 객체를 쓰려면 TaskOptions.payload (String) 메서드를 사용하고 있습니다.TaskQueue 페이로드를 얻는 방법?

하지만 작업 대기열을 실행할 때 서블릿에서 읽으려면 어떻게해야합니까?

답변

1

가 여기에 내가 마지막에 무슨 짓을했는지. doPost()에서이 코드를 실행하십시오.

import org.codehaus.jackson.map.ObjectMapper; 
import my.own.PayloadObject; 

... 

private static final ObjectMapper MAPPER = new ObjectMapper(); 

... 

private PayloadObject getPayload(HttpServletRequest req) throws IOException 
{ 
    InputStream inputStream = req.getInputStream(); 
    ByteArrayOutputStream byteArrayStream = new ByteArrayOutputStream(); 

    int length; 
    byte[] buffer = new byte[1024]; 

    while ((length = inputStream.read(buffer)) >= 0) 
     byteArrayStream.write(buffer, 0, length); 

    if (byteArrayStream.size() > 0) 
     return MAPPER.readValue(byteArrayStream.toByteArray(), PayloadObject.class); 

    return null; 
} 
관련 문제