Код: Выделить всё
message TestRepeatedMask {
repeated Inner inner_message = 1;
message Inner {
optional string first = 1;
optional string second = 2;
}
}
Мой пример на Java:
Код: Выделить всё
public static TestRepeatedMask readMinimal(TestRepeatedMask route) {
FieldMask.Builder maskBuilder = FieldMask.newBuilder();
FieldMask mask = maskBuilder.addPaths("inner_message.*.first").build();
TestRepeatedMask.Builder result = TestRepeatedMask.newBuilder();
FieldMaskUtil.merge(mask, route, result);
return result.build();
}
@Test
public void readRespo() {
TestRepeatedMask o =
SelectedRouteMasker.readMinimal(
TestRepeatedMask.newBuilder()
.addInnerMessage(Inner.newBuilder().setFirst("first").setSecond("second"))
.build());
System.out.println(o);
}
Код: Выделить всё
TestRepeatedMask { inner { first: "first" } }
Код: Выделить всё
Oct 15, 2025 9:06:59 AM com.google.protobuf.util.FieldMaskTree merge
WARNING: Field "TestRepeatedMask.inner_message" is not a singular message field and cannot have sub-fields.
Подробнее здесь: https://stackoverflow.com/questions/797 ... ld-masking
Мобильная версия