В настоящее время единственный способ получить запись с использованием getEntry, это передать значение sys.id. Мы используем один контроллер в любое время, когда мы запрашиваем что-либо от Contentful. Это позволяет нам устанавливать сообщения об ошибках, преобразовывать возвращаемые данные в нужный нам формат и т. Д. Мы добавили в контроллер нашу собственную вспомогательную функцию getEntry, которую можно вызвать с помощью
contentfulController.getEntry({
content_type: 'indexPage',
'fields.slug[match]': slug,
include: 3,
locale: language,
});
Затем внутри нашей собственной функции getEntry мы берем первую в массиве и возвращаем объект, так как всегда знаем, что будем возвращать одну.
Однако важно отметить, что это может вызвать проблемы, если в слаге есть подстроки. Допустим, у вас есть два предмета со слизнями:
/resource
/resourcelisting
Если вы запросите 'fields.slug [match]': '/ resource', он вернет оба результата в результатах, поэтому вы должны также проверить, какой из них имеет нужный вам слаг, а не его часть.