Sobes.tech
Junior — Middle

Ինչպե՞ս ցույց տալ gRPC-ում, որ որոշ դաշտ չի նախատեսված հաճախորդի կողմից օգտագործելու համար։

sobes.tech AI

Պատասխան AI-ից

gRPC-ում, որոշակի դաշտը նշելու համար, որ այն նախատեսված չէ հաճախորդի կողմից օգտագործելու համար, կարող եք protobuf հաղորդագրության նկարագրության մեջ օգտագործել [(google.api.field_behavior) = OUTPUT_ONLY] տարբերակը: Սա նշում է, որ դաշտը լրացվում է սերվերից և այն չպետք է սահմանվի հաճախորդի կողմից:

Օրինակ protobuf-ում:

import "google/api/field_behavior.proto";

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

Go կոդում սա չի սահմանում սահմանափակումներ կոմպիլյացիայի մակարդակում, բայց ծառայում է որպես փաստաթուղթ և կարող է հաշվի առնվել կոդի սերնդի կամ վավերացման գործիքների կողմից:

Եթե հատուկ տարբերակներ չօգտագործվեն, այն համաձայնությունները, թե ով պետք է սահմանել դաշտը, պահվում են պրոտոկոլի և փաստաթղթավորման մակարդակներում: