4

私はzendframework2を使用してシンプルで安らかなAPIを作成しており、このテーマに関するRob Allenのメモと、http://hounddog.github.com/blog/getting-started-with-rest-andによるこの優れたチュートリアルを参照しています。 -zend-フレームワーク-2/

以下は私のmodule_config.phpです。ルートとJSONビュー戦略が構成されていることがわかります。私の理解では、この方法でJSON戦略を設定すると、すべてのモジュールに対応します。問題は、無効なルートが入力されると、AcceptヘッダーがApplication / jsonを要求している場合でも、404応答がhtmlで返送されることです。

私はこれに2日間苦労してきましたが、アドバイスや助けをいただければ幸いです。

このAPIへのcurl呼び出しは、予期される404エラーを生成します。

curl -i -H "Accept: application/json" http://myapi-dev.local/xxx/1

Module_config.php

return array(
    'controllers' => array(
        'invokables' => array(
            'Dips\Controller\Roles' => 'Dips\Controller\RolesController', //maps controller alias to a physical controller
        ),
    ),
    'router' => array(
        'routes' => array(
            'dips' => array(
                'type' => 'segment',
                'options' => array(
                  'route' => '/dips/roles/:apikey/:uname/:appname',
                  'constraints' => array(
                    'apikey' => '[a-zA-Z0-9]+',
                    'uname' => '[a-zA-Z]+',
                    'appname' => '[a-zA-Z][a-zA-Z0-9_-]*',
                 ),
                 'defaults' => array(
                     'controller' => 'Dips/Controller/Roles',
                  ),
                ),
            ),
        ),
    ),
    'view_manager' => array(
      'strategies' => array(
          'ViewJsonStrategy',
      ),
    ),
);
4

1 に答える 1