Как вернуть вложенную коллекцию из angular-in-memory-web-api? - PullRequest
0 голосов
/ 18 апреля 2019

У меня есть реляционные данные, где связь отмечена в URL.

Например, в блогах есть комментарии.Таким образом, мои URL будут:

/api/blogs/1

/api/blogs/1/comments

Я настроил обе коллекции в моей службе angular-in-membory-web-api.Однако, когда я делаю запрос на получение всех комментариев для определенного блога, он просто возвращает мне блог.

При настройке моих фиктивных данных я создаю массив блогов с идентификаторами, а затем создаю массивкомментариев, устанавливающих поле blogId для соответствующего блога.

public createDb(): any {
  const blogs = [
    {
      id: faker.random.number(),
      title: faker.random.words()
    }
  ];

  const comments = [];
  lodashFp.map(blog => {
    const blogComments = [
      {
        id: faker.random.number(),
        blogId: blog.id,
        comment: faker.lorem.sentences()
      },
      {
        id: faker.random.number(),
        blogId: blog.id,
        comment: faker.lorem.sentences()
      }
    ];

    comments.push(blogComments);
  }, blogs);

  return {
    blogs,
    comments
  };
}

То, что я ожидал бы сделать при запросе комментариев с использованием URL api/blogs/1/comments, это все комментарии, относящиеся к блогу 1.

[
  {
    id: 483,
    blogId: 1,
    comment: 'This is a random comment'
  },
  {
    id: 295,
    blogId: 1,
    comment: 'This is yet another random comment'
  }
]

Однако вместо этого я получаю только блог 1, который я получаю при запросе api/blogs/1.

{
  id: 1,
  title: 'This is a random title'
}

Нужно ли настраиватьangular-in-memory-web-api для анализа URL-адресов другим способом?

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