Open
Description
In my use case my GetSomethingRequest
includes a map<string, string>
, and I didn't manage to pass the map as a query param. So I have to attach a body to the GET
request which is bad. This is how I define the messages and service:
message Key {
map<string, string> data = 1;
string field = 2;
}
message GetSomethingRequest {
string parent = 1;
Key key = 2;
}
service SomeService {
rpc GetSomething(GetSomethingRequest) returns (Something) {
option (google.api.http) = {
get: "/v1/parent/{parent}/somethings"
};
}
}
I tried the following and neither of them works.
// also tried to replace [, ], {, }, :, = with percent encode.
// the first two are following https://github.com/grpc-ecosystem/grpc-gateway/pull/535
GET /v1/parent/parentname/somethings?field=aa&data[abc]=cba
GET /v1/parent/parentname/somethings?key.field=aa&key.data[abc]=cba
GET /v1/parent/parentname/somethings?key.field=aa&key.data={abc:cba}
So I wonder if map of primitives as query param is supported? If not any plans to add support for this? Thanks!
Activity
ambaumann commentedon Feb 10, 2020
This is really confusing because the grpc gateway project looks to support this behavior but I too an unable to get this to work through this transcoder as mentioned above. Would love to see a response on this. Again mentioning the feature in gateway that allows for map query parameters. grpc-ecosystem/grpc-gateway#535