Служба REST не работает после простого изменения - PullRequest
1 голос
/ 19 августа 2011

Я следую этому руководству, чтобы изучить некоторые службы REST и вызовы AJAX: http://www.mkyong.com/webservices/jax-rs/integrate-jackson-with-resteasy/

Я изменил эту конечную точку:

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

Но теперь, когда я проверяю их, URI работает в браузере с:

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

У меня есть это сообщение об ошибке:

ОШИБКА HTTP: 404

Не удалось найти ресурс для относительного: /json / product / get полного пути: http://localhost:8080/restws/json/product/get?callback=process

RequestURI = / restws / json / product / get

Может кто-нибудь помочь мне понять, почему он выдает мне эту ошибку послеэто незначительное изменение?Спасибо

1 Ответ

2 голосов
/ 19 августа 2011

Параметр запроса не является частью @Path.Вы должны обрабатывать их @ QueryParam , как показано в Руководстве пользователя Джерси .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...