users.proto 핵심 조각
syntax = "proto3";
package users;
service UserService {
rpc GetUserById (UserByIdRequest) returns (User);
}
message User {
int32 id = 1;
string name = 2;
string email = 3;
}
gRPC 계약은 TypeScript 인터페이스보다 더 엄격합니다. 필드 번호와 RPC method가 런타임 payload 해석 기준이 됩니다.
syntax = "proto3";
package users;
service UserService {
rpc GetUserById (UserByIdRequest) returns (User);
}
message User {
int32 id = 1;
string name = 2;
string email = 3;
}
주의: 필드 이름은 바뀌어도 복구 여지가 있지만, 필드 번호를 바꾸면 이전 payload와 호환성이 깨질 수 있습니다.