#quarkus-grpc
#quarkus-grpc
Вопрос:
В quarkus есть ли способ добавить простую аннотацию, чтобы также представить базовую реализацию gRPC как REST / json? Т.е. Два представления с одной реализацией.
Похоже, что в Springboot есть ProtobufJsonFormatHttp MessageConverter.
https://medium.com/@thinhda/build-service-that-provides-http-and-grpc-api-with-spring-9e7cff7aa17a
Я полагаю, что синтаксис proto допускает аннотацию для конечной точки rest
syntax = "proto3";
package pn.api;
//import "google/protobuf/timestamp.proto";
//import "google/api/annotations.proto";
option java_package = "pn.api.protobuf";
option java_outer_classname = "Proto";
service SearchService{
rpc search(SearchRequest) returns (SearchResponse){
// option (google.api.http) = { get: "/v1/search/{queryObj}" };
};
}
Комментарии:
1. Правильно ли я понимаю пример, пример spring предоставляет «обычную» конечную точку REST, но использует класс, созданный из
proto
типа сущности as?2. Я имел в виду тип DTO
3. Да, вы правы, похоже, spring использует ‘ProtobufJsonFormatHttpMessageConverter’ для обеспечения автоматического преобразования DTO, поэтому оба proto / rest-json доступны одновременно. Я изменил вопрос для большей ясности.
Ответ №1:
Нет.
Нет способа сделать это. Если вы считаете, что это полезно, не стесняйтесь создавать проблему в Github Issues (https://github.com/quarkusio/quarkus/issues ) и мы можем обсудить это там. В этом вопросе, пожалуйста, сосредоточьтесь на том, что было бы выгодно добавить такую функцию.