如果需要 JSON、XML 等输出格式,可以使用AcceptableViewModelSelector Controller Plugin或 / 和 (?)替代呈现 / 响应策略。
什么时候应该应用一个,什么时候应用另一个(以及什么时候组合)?
它们可以/应该结合吗?
如果需要 JSON、XML 等输出格式,可以使用AcceptableViewModelSelector Controller Plugin或 / 和 (?)替代呈现 / 响应策略。
什么时候应该应用一个,什么时候应用另一个(以及什么时候组合)?
它们可以/应该结合吗?
好吧,策略基本上是听众。根据控制器操作返回的模型类型来提供操作的侦听器。如果您返回ViewModel
,PhpRendererStrategy
则将发生。如果您返回 a JsonModel
,JsonStrategy
则将执行此操作,如果您返回 a FeedModel
,则将执行此操作FeedStrategy
。
但是,这些策略仅在注册后才适用。因此,如果您在JsonModel
没有JsonStrategy
注册的情况下返回 a,则不会发生任何事情。
存在的AcceptableViewModelSelector
目的是根据接受标头提供对不同模型格式的更轻松访问和处理。它有助于使事情变得更容易,不多也不少。
策略,您也可以注册自己的策略。那里的模块有一个 PdfStrategy,如果你告诉它,它将呈现一个 PDF 文档。
稍微调整一下您的问题:
如果这不能真正涵盖你的问题,我对如何回答你很不安全^^