2015-05-26 1 views
0

Я использую следующий код для создания WebService без конфигурации в web.xml, как описано здесь: How to set up JAX-RS Application using annotations only (no web.xml)?@QueryParam в JAX-RS 1.1 с Websphere Liberty Profile 8.5 не получает значение

@ApplicationPath("/host") 
@Path("/merge") 
public class FormProvider extends Application { 


    @GET 
    @Produces(MediaType.APPLICATION_JSON) 
    public String getFormByKey(@QueryParam("key") String key) { 

     Form form = DB.getFormByKey(key); 
     Gson gson = new GsonBuilder() 
     .setPrettyPrinting() 
     .create(); 
     String json = gson.toJson(form); 

     return json; 
    } 
} 

И используя следующий URL для вызова WebService с параметрами:

http://localhost:9081/MyRestApplication/host/merge?key=xyz123

Webservice быть вызвана, но свойство key остается пустым, что я делаю неправильно? Спасибо.

Обновление: Оно начало работать. Я не могу объяснить, но я просто удалил библиотеку jax-rs, выключил сервер, а затем включил и добавил библиотеку (ту же библиотеку), и она начала работать. До этого я старался выполнять чистую, строю, ничего не помогал. Если кто-то сможет объяснить, что и почему это произошло, я буду принимать его в качестве ответа. Спасибо.

ответ

0

У вас нет параметра «ключ» в вашем запросе. Измените его на:

http://localhost:9081/MyRestApplication/host/merge?key=xyz123 
+0

Извините, я проверил с ключом и с 'test', и в обоих случаях он не работал. Просто скопировал здесь неправильный код, исправит его. – Anatoly

Смежные вопросы