私は現在、Symfony2のアプリケーション内でRESTサービスを書いているとの応答にはつながりません。 - いくつかの問題がポップアップ表示される場合、すなわち、私が使用されているHTTPException
、Symfony2ののTwigBundleから正しいerror.json.twig
を投げるとHTTPエラーをレンダリング違反が正しいコンテンツタイプ
/**
* @Route("/account", defaults={"_format" = "json"})
*/
class AccountController extends APIController
{
/**
* @Route("/")
* @Method("get")
*/
public function listAction()
{
// process something here and return JSON-encoded response
}
}
これは、すべて正常に動作します:これは(おおよそ)私のコントローラの一つがどのように見えるかですJSONとして
しかし、これは@Method("get")
が1となっているルート要件の違反のために真ではありません。私は、例えば上記のURLに対してPOST
またはPUT
投げた場合、私はまだ戻って正しいHTTPステータスコードを取得しますが、間違ったコンテンツタイプ(代わりに、アプリケーション/ JSONのテキスト/ HTML)でレンダリング。
私は完全なAPIリターンJSONレスポンスと他には何を聞かせすることは非常に多くの興味 - 質問は:どのように私はそれを達成していますか?私はすべてのルート要件を省略し、要件を自分で確認しなければならないのですか(そして最終的に私自身のHTTPException
を投げます)?
適切なHTTPExceptionが発生しましたが、God(またはFabien)は書式処理がどこにミックスされるのかを知っています... –
バグをhttps://github.comに投稿しました。/symfony/symfony/issues/3215。 –