30 array $deserializers = []
33 $this->_deserializers = $deserializers;
43 public function get($contentType)
45 if (empty($this->_deserializers)) {
46 throw new \LogicException(
'Request deserializer adapter is not set.');
48 foreach ($this->_deserializers as $deserializerMetadata) {
49 $deserializerType = $deserializerMetadata[
'type'];
50 if ($deserializerType == $contentType) {
51 $deserializerClass = $deserializerMetadata[
'model'];
56 if (!isset($deserializerClass) || empty($deserializerClass)) {
57 throw new \Magento\Framework\Webapi\Exception(
58 new Phrase(
'Server cannot understand Content-Type HTTP header media type %1', [$contentType])
62 $deserializer = $this->_objectManager->get($deserializerClass);
64 throw new \LogicException(
65 'The deserializer must implement "Magento\Framework\Webapi\Rest\Request\DeserializerInterface".'
__construct(\Magento\Framework\ObjectManagerInterface $objectManager, array $deserializers=[])