2012-02-07 2 views
0

В настоящее время у меня есть веб-сервис, запущенный в tomcat (http: // localhost: 8080/myApp/getUsers). Моя веб-служба примет строку json, а затем обработает ее соответствующим образом. Мой код webservice выглядит следующим образом:Как сделать вызов REST Webservice в JAVA?

@Path("/getUsers") 
public class UsersWS 
{ 
    @POST 
    public Response post(String theRequestJSON) 
    { 
     try 
     { 
      JSONObject aJsonObj = new JSONObject(theRequestJSON); 
      String userID = aJsonObj.getString("userID"); 
      System.out.println(userID); 
     } 
    } 
} 

Итак, мой веб-сервис обрабатывает строку json. Итак, теперь мне нужно вызвать вышеупомянутый веб-сервис из другого JAVA-класса (с jsonObject с параметром userID в параметре запроса).

Как это сделать? Вскоре мне нужно сделать вызов веб-службы из класса JAVA с объектом JSON в качестве параметра запроса. Как отправить json в качестве параметра запроса в запросе.

+1

возможно дубликат [Как разместить данные в формате JSON на сервер с помощью Java] (HTTP: //stackoverflow.com/questions/939682/how-to-post-json-data-to-a-server-using-java) –

ответ

3

Используйте собственный URLConnection или Apache HttpClient для отправки HTTP-запроса на сервер. И параметры должны быть переданы в формате key=value&key2=value2.... Таким образом, вам может понадобиться восстановить объект JSON в этом формате или использовать другое специальное имя параметра, например data=jsonstring, затем проанализировать строку json, используя некоторую библиотеку.

+0

Большое спасибо .. можете ли вы также предложить мне некоторые java-библиотеки для публикации в качестве данных = jsonstring в запросе? –

+0

data = JSONObject.toString()? – George

2

@George имеет в основном уже ответил на ваш вопрос, но с точки зрения обработки JSON вы можете также посмотреть на Джексона http://jackson.codehaus.org/

Это позволяет быстро конвертировать Java объектов в JSON эквивалентов.

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