Spring webflux Netty (без tomcat): как выставить proto как json endopints без дублирования кода? - PullRequest
1 голос
/ 19 февраля 2020

У меня выставлены прото конечные точки. Я также хочу, чтобы потребители отправляли json эквивалент этих прототипов и возвращали / получали json эквивалент результатов с типом info (Pojo?). Информация о типах также помогает с документацией OpenAPI / Swagger!

Каковы самые элегантные / простые способы добиться этого без дублирования кода?

Любой пример кода github, который может быть полезным.

Примечание: это для webflux & netty - без tomcat.

ProtobufJsonFormatHttpMessageConverter - работает для tomcat, не работает для netty. Работающий пример кода был бы великолепен.

enter image description here

1 Ответ

0 голосов
/ 19 февраля 2020

С версии 4.1 spring предоставляет org.springframework.http.converter.protobuf.ProtobufHttpMessageConverter для чтения и записи протосов как Json.

Однако, если вы используете Spring 5.x и Protobuf 3.x, есть org.springframework.http.converter.protobuf.ProtobufJsonFormatHttpMessageConverter для более явного преобразования Json.

Эта документация должна вам помочь:

  1. https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/http/converter/protobuf/ProtobufHttpMessageConverter.html
  2. https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/http/converter/protobuf/ProtobufJsonFormatHttpMessageConverter.html
...