У меня есть этот rpc в моем файле .proto:
message SetFlagRequest {
string name = 1;
bool enable = 2;
}
rpc SetFeatureFlag(SetFlagRequest) returns (FlagStatus) {
option (google.api.http) = {
post: "/v2/flags/{name}/{enable}"
body: "*"
};
//...
Я хотел бы иметь почтовый адрес:
"/v2/flags/{name}/enable"
(для включения = true) вместо "/v2/flags/{name}/true"
"/v2/flags/{name}/disable"
(для включения = false) вместо "/v2/flags/{name}/false"
есть ли способ форматирования строк в .proto
файлах?
Нет, стандартная практика заключается в том, чтобы сделать их явными.
message SetFlagRequest {
string name = 1;
}
rpc EnableFeatureFlag(SetFlagRequest) returns (FlagStatus) {
option (google.api.http) = {
post: "/v2/flags/{name}/enable"
body: "*"
};
rpc DisableFeatureFlag(SetFlagRequest) returns (FlagStatus) {
option (google.api.http) = {
post: "/v2/flags/{name}/disable"
body: "*"
};
Затем в вашей реализации каждого вы можете вызвать общий метод, если хотите.