protected function respondWithCollection(ResourceObjectData
$primary_data, Data
$includes, Request
$request, ResourceType
$resource_type, OffsetPage
$page_param) { assert(Inspector::
assertAllObjects([$includes], IncludedData::
class, NullIncludedData::
class));
$link_context =
[ 'has_next_page' =>
$primary_data->
hasNextPage(),
];
$meta =
[];
if ($resource_type->
includeCount()) { $link_context['total_count'
] =
$meta['count'
] =
$primary_data->
getTotalCount();
} $collection_links = self::
getPagerLinks($request,
$page_param,
$link_context);
$response =
$this->
buildWrappedResponse($primary_data,
$request,
$includes, 200,
[],
$collection_links,
$meta);
// When a new change to any entity in the resource happens, we cannot ensure
// the validity of this cached list. Add the list tag to deal with that.
$list_tag =
$this->entityTypeManager->
getDefinition($resource_type->
getEntityTypeId()) ->
getListCacheTags();
$response->
getCacheableMetadata()->
addCacheTags($list_tag);
foreach ($primary_data as $entity) { $response->
addCacheableDependency($entity);
} return $response;
}