我想使用请求标头“接受”来处理资源的不同版本
===>
GET /customer/123 HTTP/1.1
Accept: application/vnd.company.myapp.customer-v3+json
<===
HTTP/1.1 200 OK
Content-Type: application/vnd.company.myapp-v3+json
{"customer":
{"name":"Neil Armstrong"}
}
我想阅读 Accept 标头,提取版本并使用此版本初始化序列化程序!
FOSRestBundle 可以做到这一点吗?
我知道我可以监听 kernel.request,检查“Accept”标头并从 MIME 类型中提取请求的版本,但我不知道如何使用此值设置序列化程序...
我还阅读了 FOSRestBundle 文档,我知道您可以在配置中添加新的 mime 类型:
view.mime_types: {'json': ['application/vnd.company.myapp.customer-v1+xml', 'application/vnd.company.myapp.customer-v2+xml']}
我需要在这里添加所有可能的 mime 类型(不同版本)?
任何帮助将不胜感激!