Веб-сервис REST Java с использованием protobuf

Я хочу реализовать веб-службу REST с помощью Java и protobuf.

Может ли кто-нибудь указать мне, с чего начать или как его реализовать? Любой хороший учебник

Спасибо!

Ответ 2

В сообщении вы можете видеть, как мы можем создать веб-службу JX-RS, которая в ответ производит буферирование протокола Google. Исходный код доступен в моем блоге

то, что я делаю, это преобразование объекта буфера протокола в массив байтов со стороны сервера и отправка массива через службу: Сервисный код находится ниже, заполняя объект и помещая его в ответ.

UserDTO.User user = UserDTO.User.newBuilder(). //protocol buffer object
          setSessionId(id).
          setName("l070020").
          build();
return Response.ok(user.toByteArray(),MediaType.APPLICATION_OCTET_STREAM).status(200).build();

Объект буфера протокола имеет возможность анализировать и заполнять заполняющий объект буфера протокола через поток. Поэтому я использую поток для обмена данными. На стороне клиента я делаю подключение к веб-сервису

HttpGet request = new HttpGet("http://localhost:8080/maven.work/service/mainServices/get_user");
request.addHeader("accept","application/octet-stream");
HttpResponse response = httpClient.execute(request);

В буфере протокола встроен метод для анализа потока, ниже я анализирую поток из ответа

User user = User.parseFrom(response.getEntity().getContent());

Аналогичным образом вы можете отправить объект буфера протокола в виде массива байтов на сервер, а сервер может получить его из потока запросов сервлетов HTTP и проанализировать его так же, как это делает клиент.

Ответ 3

Чтобы начать просто, вы можете написать простой сервлет и вернуть серализацию своих данных с protobuf. Для REST я предпочитаю RESTeasy. Возможно, это помогает: буферы и сервлеты протокола Google