Запрос API POST: пустые значения против нулевых значений против удаленных значений - PullRequest
0 голосов
/ 30 марта 2020

Я использую MongoDB и Node.js для моего API бэкэнда и Angular для моего внешнего интерфейса .

У меня есть две модели данных в Angular, одна из которых представляет данные, ожидаемые от пользовательского ввода, а другая представляет данные, ожидаемые API в моем бэкэнде.

class DataForm {
  authorName: string;
  wordEnglish: string;
  wordExpanded?: string;
  definition: string;
  linkAuthoritative?: string;
  linkWikipedia?: string;
  linkYoutube?: string;
}

export class EnglishTermRequest {
  constructor() {
  this.languageCode = 'en';
  }
  wordEnglish: string;
  wordNonEnglish: string;
  wordExpanded: string;
  languageCode: string;
  image: string;
  imageType: string;
  audio: string;
  audioType: string;
  linkAuthoritative: string;
  linkWikipedia: string;
  linkYouTube: string;
  authorName: string;
  fieldOfStudy: string;
  helpYes: number;
  helpNo: number;
  definitions: [DefinitionRequest];
}

Причина почему у меня есть две отдельные модели, так что я могу легко изменить входные данные, прежде чем сохранять их в модели, которую ожидает API.

У меня вопрос, что мне делать с пустыми или нулевыми значениями от пользователя ? Например, если пользователь не предоставляет ввод для одного из свойств, сейчас моя модель настроена так, что свойства не существуют в объекте.

dataForm = {
authorName : "Bob",
wordEnglish: "Hello",
definition: "Random definition aasdfjkad"
}

Если я сохраню это внутри Если для отправки запроса POST используется модель EnglishTermRequest, в этой модели будут отсутствовать свойства для wordExpanded , linkAuthoritative , et c.

Это нормально или я должен сделать Значения null или пустые строки (или любое значение по умолчанию типа)? Должна ли моя база данных MongoDB содержать все свойства, ожидаемые для каждой модели, или в ней могут отсутствовать свойства?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...