1

ZF2 で安らかな Web サービスを作成するために、いくつかのチュートリアルを読みました。ZF2 が RESTful Web サービスを処理する方法が最後に変更されたのは、バージョン 2.0.4 でした。私が始めるための最も有望な記事はこれでした: http://dustint.com/post/543/getting-started-with-abstractrestfulcontroller

とにかく、私はそれを成し遂げることができません.RestController.getList()で返されたJsonModelが期待どおりに機能していないようです. 私のデバッグ呼び出しにより、RestController.getList() メソッドが呼び出されることを認識できます。関連するすべてのコードは、私の github-repository にあります: https://github.com/Jochen1980/EhcServer/blob/master/module/Application/src/Application/Controller/RestController.php

class RestController extends AbstractRestfulController{
    public function indexAction(){
        Debug::dump("indexAction()");
        return new ViewModel();
    }
    public function getList() {
        Debug::dump("getList()");
        return new JsonModel(array(
            array('name' => 'test'),
            array('name' => 'second')
        ));
    } 
    ...

現在、次のエラー メッセージが表示されました: Fatal error: Uncaught exception 'Zend\View\Exception\RuntimeException' with message 'Zend\View\Renderer\PhpRenderer::render: Unable to render template "application/rest/get-list"; C:\xampp\htdocs\EhcServer\vendor\zendframework\zendframework\library\Zend\View\Renderer\PhpRenderer.php の 499 行目で、リゾルバーはファイルに解決できませんでした

前もって感謝します!

4

2 に答える 2

5

中にstrategiesいる必要があるview_managermodule.config.php

つまり、ビュー マネージャー セクションは次のようになります。

'view_manager' => array(
    'display_not_found_reason' => true,
    'display_exceptions' => true,
    'doctype' => 'HTML5',
    'not_found_template' => 'error/404',
    'exception_template' => 'error/index',
    'template_map' => array(
        'layout/layout' => __DIR__ . '/../view/layout/layout.phtml',
        'application/index/index' => __DIR__ . '/../view/application/index/index.phtml',
        'error/404' => __DIR__ . '/../view/error/404.phtml',
        'error/index' => __DIR__ . '/../view/error/index.phtml',
    ),
    'template_path_stack' => array(
        __DIR__ . '/../view',
    ),
    // let the view manager know which strategies to use
    'strategies' => array(
        'ViewJsonStrategy',
    ),
),
于 2013-05-03T17:13:02.333 に答える
0

Abstract RestfulConroller で作業している場合は、単純に

'view_manager' => array(
    // let the view manager know which strategies to use
    'strategies' => array(
        'ViewJsonStrategy',
    ),
),

json自体が残りのメソッドで表示するのに十分であるため、正しくなります。

$array = 配列();

新しい JsonModel($配列) を返します。

ありがとう、

于 2015-03-20T07:15:23.813 に答える