Skip to content

Commit 52ff0be

Browse files
committed
MC-19432: REST API returns 404 error instead of 400
1 parent 6f51c11 commit 52ff0be

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

lib/internal/Magento/Framework/Webapi/ServiceInputProcessor.php

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -245,13 +245,21 @@ protected function _createFromArray($className, $data)
245245

246246
$typeName = $this->typeProcessor->register($className);
247247
$typeData = $this->typeProcessor->getTypeData($typeName);
248-
$requiredFields = array_filter(
249-
$typeData['parameters'],
250-
function (array $fieldData) {
251-
return $fieldData['required'];
252-
}
248+
$requiredFields = array_keys(
249+
array_filter(
250+
$typeData['parameters'],
251+
function (array $fieldData) {
252+
return $fieldData['required'];
253+
}
254+
)
255+
);
256+
$camelCaseData = array_map(
257+
function (string $value) {
258+
return SimpleDataObjectConverter::snakeCaseToCamelCase($value);
259+
},
260+
array_keys($data)
253261
);
254-
$missedRequiredFields = array_keys(array_diff_key($requiredFields, $data));
262+
$missedRequiredFields = array_diff($requiredFields, $camelCaseData);
255263
if (!empty($missedRequiredFields)) {
256264
$this->processInputError($missedRequiredFields);
257265
}

0 commit comments

Comments
 (0)