コード例 #1
0
 /** {@inheritdoc} */
 public function find(RpcClientInterface $client, ApiMetadata $metadata, array $identifiers)
 {
     $request = new RpcRequest($metadata->getMethodContainer()->getMethod('find'), $identifiers);
     $entityCache = $this->manager->getEntityCache();
     if (null !== $entityCache) {
         $body = $entityCache->get($metadata->getName(), $identifiers);
         if (null !== $body) {
             return $body;
         }
     }
     $response = $client->invoke([$request])->getResponse($request);
     if (!$response->isSuccessful()) {
         return null;
     }
     $body = $response->getBody();
     if (null !== $entityCache) {
         $entityCache->set($body, $metadata, $identifiers);
     }
     return $body;
 }