REST APIのsymfony3とFOSRestBundleで新しいproyectを開始します。すべてが期待どおりに機能していますが、私には質問があります。Symfony FOSRestBundleアクション注文
api_marcas_get_all_marca_paginated GET ANY ANY /api/marca/{limit}/{page}.{_format}
api_marcas_delete_remove_marca GET ANY ANY /api/marca/delete/{marcaid}.{_format}
の問題は、私が(ポストマンから)これを呼び出すとき:
127.0.0.1:8000/api/marca/delete/105
他のアクション(api_marcas_get_all_marca_paginated)私は私のコントローラでこの二つの作用とルータの設定を持っています応答します...
はい..私は "DELETE" HTTPメソッドを使うことができますが、これはうまくいきます...しかし、どうしてそれらは衝突しますか?ここで
は私のアクションは、次のとおりです。
/**
* @Rest\Get("/marca/{limit}/{page}")
*/
public function getAllMarcaPaginatedAction(Request $request)
{... code here ...}
と
/**
* @Rest\Get("/marca/delete/{marcaid}")
*/
public function deleteRemoveMarcaAction(Request $request)
{ ... //code here... }
そのためには。
私は何か間違っていますか? アクションの順序に関係がありますか?ありがとう...
コメントありがとうございました@dubrox。このようなルートの問題を避けるためのアドバイスはありますか? –
一般的にこのパターンの衝突を避けるために、 'requirements'属性の使用を提案するために私の答えを更新しました。しかし、あなたの特別な場合には、削除のために 'GET'を避け、少なくともHTTP標準' DELETE'を使用したくない場合は、少なくとも 'POST'メソッドを使用してください。 – dubrox