Должны ли у вас быть разные прототипы для записи и перечисления или повторного использования?

#protocol-buffers #grpc #protobuf-net #protobuf-java

Вопрос:

При разработке прототипов CRUD службе записи придется выполнять запись в несколько реляционных таблиц, поэтому вы будете разрабатывать прототипы таким образом, чтобы они соответствовали схеме таблицы, а также имели некоторую вложенную структуру. Это не то же самое для операции со списком, поскольку мы абстрагируем данные в плоской структуре в структуре NOSQL. Какова рекомендация по этому делу? Могу ли я повторно использовать вложенные прототипы и преобразовать ответ NOSQL, чтобы унифицировать структуру прототипа между чтением и записью? Или мне следует написать пользовательский прототип, который является плоским для службы списков?

Действительно ли это индивидуальный случай и дизайнерское решение? Или где-то есть какое-то навязанное мнение, которому я должен следовать?

Ответ №1:

Существует много школ мысли о дизайне API. Учитывая, что вы говорите о продуктах Google (protobuf и gRPC), вы можете счесть Руководство по разработке API Google полезным. https://cloud.google.com/apis/design/.