Java REST服务不支持';一个简单的改变就不能工作
我按照本教程学习一些REST服务和AJAX调用: 我更改了此端点:Java REST服务不支持';一个简单的改变就不能工作,java,json,rest,Java,Json,Rest,我按照本教程学习一些REST服务和AJAX调用: 我更改了此端点: @GET @Path("/get") @Produces("application/json") public Product getProductInJSON() { Product product = new Product(); product.setName("iPad 3"); product.setQty(999); return product; } 对于本例,为了以jso
@GET
@Path("/get")
@Produces("application/json")
public Product getProductInJSON() {
Product product = new Product();
product.setName("iPad 3");
product.setQty(999);
return product;
}
对于本例,为了以jsonp格式返回产品:
@GET
@Path("/get?callback={name}")
@Produces("application/javascript")
public String getProductInJSON(@PathParam("name") String callback){
Product product = new Product();
product.setName("iPad 3");
product.setQty(999);
String productString = callback + "({" + product.toString() + "})";
return productString;
}
使用产品的toString():
@Override
public String toString() {
return "name:" + name + "," + "qty:" + qty;
}
但现在,当我检查ir时,URI在浏览器中工作,具有:
我收到以下错误消息:
HTTP错误:404
找不到完整路径的相对:/json/product/get的资源:
RequestURI=/restws/json/product/get
有人能帮我理解为什么在这个微小的改变后它会给我这个错误吗?谢谢,查询参数不是@Path的一部分。您应该按照中所示处理它们。您要在带有注释的URL中声明要调用的
回调
参数名称
,这不是问题所在吗?另一个,尽管不相关,但是在toString()
方法中,name
应该用双引号括起来。是的,引号是正确的