Служба или точка входа должны преобразовать данные запроса в модель предметной области? - PullRequest
0 голосов
/ 23 февраля 2019

У меня простая микросервисная сборка с 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 и затем вызвать службу с бизнес-логикой для выполнения требуемого действия.

Или лучше разместить внутри службы? Передатьвесь объект запроса из точки входа в службу, а затем внутри службы получить требуемые данные, преобразовать их, проверить (и вернуть ошибку, если данные неверны)

...