Наконец я нашел ответ после глубокого поиска в Google.Благодаря Hirnhamster пользователю, http://forums.recessframework.org/.
Решение
Решение, в отличие от поиска реальной проблемы, довольно простое:
1.Шаг:
Откройте файл DefaultPolicy.class.php в recess / recess / framework.Перейдите в метод preprocess (..).Добавьте строку $ this-> reparameterizeForFormat ($ request);как последняя команда перед возвращением.Теперь функция должна выглядеть следующим образом:
<?php
public function preprocess(Request &$request) {
$this->getHttpMethodFromPost($request);
$this->forceFormatFromResourceString($request);
$this->reparameterizeForFormat($request);
return $request;
}
?>
2.Шаг
В том же файле перейдите к методу forceFormatFromResourceString (...).Изменить строку $ format = substr ($ lastPart, $ lastDotPosition + 1);в $ format = strtolower (substr ($ lastPart, $ lastDotPosition + 1));Добавьте строку $ request-> format = $ format;ниже, если ($ format! == '') {Теперь функция должна выглядеть следующим образом:
<?php
protected function forceFormatFromResourceString(Request &$request) {
$lastPartIndex = count($request->resourceParts) - 1;
if($lastPartIndex < 0) return $request;
$lastPart = $request->resourceParts[$lastPartIndex];
$lastDotPosition = strrpos($lastPart, Library::dotSeparator);
if($lastDotPosition !== false) {
$format = strtolower(substr($lastPart, $lastDotPosition + 1));
if($format !== '') {
$request->format = $format;
$mime = MimeTypes::preferredMimeTypeFor($format);
if($mime !== false) {
$request->accepts->forceFormat($format);
$request->setResource(substr($request->resource, 0, strrpos($request->resource, Library::dotSeparator)));
}
}
}
return $request;
}
?>
3.Шаг
В том же файле перейдите к методу reparameterizeForFormat (...).(Удивитесь, что эта функция уже существует: P).Измените Format :: JSON на «json» и Format :: XML на «xml» Теперь функция должна выглядеть следующим образом:
<?php
protected function reparameterizeForFormat(Request &$request) {
if($request->format == "json") {
$method = strtolower($request->method);
$request->$method = json_decode($request->input, true);
} else if ($request->format == "xml") {
// TODO: XML reparameterization in request transformer
}
return $request;
}
?>
4.Шаг
Готово.
Для подробного решения :
http://webcache.googleusercontent.com/search?q=cache:http://forums.recessframework.org/topic/189-json-request-doesnt-insert-values-in-v02/