Sobes.tech
Junior — Middle

Kaip nurodyti gRPC, kad tam tikras laukas nėra skirtas naudoti klientui?

sobes.tech AI

Atsakymas iš AI

gRPC, norint nurodyti, kad tam tikras laukas nėra skirtas naudoti klientui, galima naudoti [(google.api.field_behavior) = OUTPUT_ONLY] parinktį protobuf pranešimo aprašyme. Tai yra užuomina, kad lauką užpildo serveris ir jis neturėtų būti nustatytas kliento.

Pavyzdys protobuf:

import "google/api/field_behavior.proto";

message User {
  string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  string name = 2;
}

Go kode tai neriboja kompiliavimo lygmeniu, bet tarnauja kaip dokumentacija ir gali būti atsižvelgta į kodo generavimo ar validacijos įrankius.

Jei nenaudojamos specialios parinktys, susitarimai dėl to, kas turi nustatyti lauką, laikomi protokolo ir dokumentacijos lygyje.