Как изменить состояние элемента Openhab с помощью Джерси? - PullRequest
0 голосов
/ 02 июня 2018

Как изменить состояние элемента Openhab с использованием Джерси?

Исходный код:

ClientConfig clientConfig = new ClientConfig();
Client client = ClientBuilder.newClient(clientConfig);
WebTarget webTarget = client.target("http://demo.openhab.org:8080/rest");
WebTarget resourceWebTarget = webTarget.path("things");
Form form =new Form();
if (item.getState().equals("ON"))
   form.param("state", "OFF");
else
   form.param("state", "ON");
response = 
webTarget.path("items").path("Light_GF_Corridor_Ceiling").request()
.header("Content-Type", "text/plain")
.header("Accept", "application/json")        
.post(Entity.entity(form,MediaType.APPLICATION_JSON),Response.class);
System.out.println("Status Info Response " + response.getStatusInfo());

Вывод: Состояние Информация Ответ Неподдерживаемый тип носителя

1 Ответ

0 голосов
/ 03 июня 2018

Form не предназначен для использования с application/json (он предназначен для использования с application/x-www-form-urlencoded).С JSON вы должны использовать POJO, коллекции POJOS или Strings.Если вы хотите отправить коллекции POJO, вам нужно обернуть их в GenericEntity.

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