我正在向球衣测试方法提出发帖要求。但是我总是得到一个错误,不知道怎么回事。我正在使用Tomcat。这个请求有什么问题?
Java代码:
@Path("/users")
public class UsersResource {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayHello() {
return "Hello Jersey Today";
}
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String createUser(User us)
{
//System.out.println("userdata " + us);
User user = new User("testUserName", "testPassword");
return user.toJson();
}
}
用户等级:
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class User
{
private String username;
private String password;
public User()
{
super();
}
public User(String name, String pass)
{
super();
this.username = name;
this.password = pass;
}
public User(String username)
{
this.username = username;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String toJson()
{
Gson gson = new GsonBuilder().setPrettyPrinting().create();
String json = gson.toJson(this);
return json;
}
}
和JS代码:
$(function() {
main = {
// Start updates
start: function(){
var user = {username: "test", password: "pass"};
var encoded = $.toJSON(user);
ajaxPost.ajaxRequest("TodoListing/rest/users", user,
function(data)
{
alert("success with data " + data);
},
function(jqXHR, textStatus, errorThrown) {
alert("error " + textStatus + "/" + errorThrown);
});
}
},
// Ajax request.
ajaxPost = {
ajaxRequest: function(service, data, successSelector, errorSelector) {
$.ajax({
type: 'POST',
url: ajaxPost.serverURL + service,
data: data,
contentType: "application/json",
dataType: "application/json",
success: successSelector,
error: errorSelector
});
},
serverURL: 'http://localhost/',
};
});
JS总是返回无描述错误(空errorThrown)和泽西记录错误根据要求:
PM com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator attachTypes
INFO: Couldn't find JAX-B element for class java.lang.String
尝试使用[Poster](https://addons.mozilla.org/en-US/firefox/addon/poster/)或curl代替JS发出请求,以便您可以确定它是否真的是服务器问题。 –