私は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',
),
),
);