2011-08-18 37 views
1

我跟随本教程学习一些REST服务工作后,和AJAX调用:http://www.mkyong.com/webservices/jax-rs/integrate-jackson-with-resteasy/REST服务不会变的简单

我改变了这个端点:

@GET 
@Path("/get") 
@Produces("application/json") 
public Product getProductInJSON() { 

    Product product = new Product(); 
    product.setName("iPad 3"); 
    product.setQty(999); 

    return product; 

} 

这一个,为了用了toString

@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; 

} 

()的产物:在JSONP格式返回产品

@Override 
public String toString() { 
    return "name:" + name + "," + "qty:" + qty; 
} 

但现在,当我检查IR的URI工作在浏览器中,具有:

http://localhost:8080/restws/json/product/get?callback=process

我有这样的错误消息:

HTTP ERROR: 404

Could not find resource for relative : /json/product/get of full path: http://localhost:8080/restws/json/product/get?callback=process

RequestURI=/restws/json/product/get

有人可以帮助我了解为什么它给我这个小小的变化后这个错误?谢谢

+0

你正在声明你的'callback'参数在URL中被注释为'name',这不是问题吗?另一个,虽然不相关,但在'toString()'方法中,'name'应该用双引号引起来。 – biziclop

+0

是的,你是正确的报价 – DaJackal

回答