У меня простая микросервисная сборка с go-kit и буферами протокола.И у меня есть вопрос о том, где я должен преобразовать запрос в данные бизнес-данных.
Например, у меня есть следующий protobuf
import "google/protobuf/empty.proto";
service Location {
rpc DeleteLocation(DeleteLocationRequest) returns (google.protobuf.Empty) {};
}
message DeleteLocationRequest {
string locationUID = 1;
}
В запросе есть uid для удаления в виде строки;Тем не менее, я хотел бы использовать мою собственную структуру
type LocationUID struct {
uuid.UUID
}
Итак, мне интересно, где лучше преобразовать входящую строку в объект домена.
Должен ли я сделать это внутриточка входа? Получить данные из reqeust, преобразовать их в LocationUID и затем вызвать службу с бизнес-логикой для выполнения требуемого действия.
Или лучше разместить внутри службы? Передатьвесь объект запроса из точки входа в службу, а затем внутри службы получить требуемые данные, преобразовать их, проверить (и вернуть ошибку, если данные неверны)