В настоящее время у меня есть веб-сервис RESTful с конечными точками, которые отображаются через Jersey/JAX-RS:
@Path("/widgets")
public class WidgetResource {
@GET
List<Widget> getAllWidgets() {
// gets Widgets somehow
}
@POST
Widget save(Widget w) {
// Save widget and return it
}
}
Я использую Jackson для сериализации/десериализации моих POJO в JSON, и мой сервис отвечает и отправляет мои POJO как application/json
.
Теперь я хочу использовать буферы протокола Google (или эквивалентную технологию), чтобы помочь сжать/оптимизировать связь между клиентом и сервисом, поскольку JSON/текст довольно объемный/расточительный.
В действительности у меня есть большой бэкэнд, который состоит из архитектуры "микросервиса"; десятки служб REST, общающихся друг с другом; вот почему я ищу оптимизацию сообщений, посланных назад и вперед между всеми ними.
Итак, я спрашиваю: возможно ли, чтобы Джерси /JAX -RS обслуживали мои конечные точки обслуживания, но чтобы избавиться от вещей Jackson/JSON и заменить его буферами протокола Google? Если да, то каким может выглядеть этот код?