非常简单的问题,但我在文档中找不到一个简单的例子,或者它是否只会起作用。
我想版本化我的一个API资源。我想将application/vnd.myEntityV2+json
和...+xml
添加为自定义内容类型,然后检查控制器中的Accept标头并调用相应的代码。简单的想法。
内置的WebAPI内容协商会在最后看到+json|+xml
并选择正确的格式化程序吗?
或者我是否需要完全配置两个映射或其他内容?
答案 0 :(得分:1)
这就是我所做的:
JsonMediaTypeFormatter jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().Single();
jsonFormatter.MediaTypeMappings.Add(
new RequestHeaderMapping(HttpRequestHeaders.Accept, "+json", StringComparison.OrdinalIgnoreCase, true, new MediaTypeHeaderValue(MimeTypes.ApplicationJson)));
注意HttpRequestHeaders
和MimeTypes
是我自己的类型。
应该捕获包含+json
的任何内容类型。