以下代码在开发环境中完美运行.对"/ _ah/api/worker/v1/tasks"的GET调用refresh()方法,该方法将任务添加到POST的"/ _ah/api/worker/v1/tasks"的默认任务队列中,该任务由handle()方法.
@Api(name = "worker", version = "v1", scopes = { Constants.EMAIL_SCOPE }, clientIds = { Constants.API_EXPLORER_CLIENT_ID, Constants.WEB_CLIENT_ID })
public class WorkerApi
{
@ApiMethod( name="refresh", path = "tasks", httpMethod = HttpMethod.GET)
public void refresh()
{
MyObject myObject = new MyObject()
Queue queue = QueueFactory.getDefaultQueue();
TaskOptions o = TaskOptions.Builder.withUrl("/_ah/api/worker/v1/tasks");
o.payload(ApiHelper.ObjectToJson(myObject ));
queue.add(o);
}
@ApiMethod( name="handle", path = "tasks", httpMethod = HttpMethod.POST)
public void handle(HttpServletRequest req, MyObject myObject)
{
// This handler is called if running in dev in …Run Code Online (Sandbox Code Playgroud)