jquery ajax restlet,java - Reading request data on RESTlet - Stack Overflow

I am trying to create a restful service, using GAE and RESTlet on the server side and jQuery on the client side. Dispite the very poor documentation on RESTlet, I am determined to familiarise myself with a restful framework. However, I can't even get the basic functionality out of it.

The problem I have is that out of GET, POST, PUT and DELETE, only DELETE requests appear to deliver the data part.

The calls are made like this:

function put() {

try {

$.ajax({

url : url,

type : "PUT", //Same for GET, POST and DELETE

data : data,

success : function(data) {

try {

$("#results").text(data);

} catch (e) {

alert(e);

}

}

});

} catch (e) {

alert(e);

}

}

On the server-side I have a resource attached on a router, and it goes like this:

public class TaskResource extends ServerResource

{

String userID = "jada";

@Override

public void doInit()

{

super.doInit();

userID = (String) getRequestAttributes().get("user");

}

@Get

public String toString(String str)

{

return "GET: task of " + userID + " ||| DATA: " + str;

}

@Put

public String putit(String str)

{

return "PUT: task of " + userID + " ||| DATA: " + str;

}

@Post

public String postit(String str)

{

return "POST: task of " + userID + " ||| DATA: " + str;

}

@Delete

public String deleteit(String str)

{

return "DELETE: task of " + userID + " ||| DATA: " + str;

}

}

In the four cases above, as str, GET gets a null argument (understandable), PUT and POST get empty strings and DELETE gets the data actually sent.

I have experimented with changing the type of the arguments (to Representation or Form) and with more specific annotations (e.g @Get("xml")). No success so far.

Any recommendations are welcome.