ajax – 在WCF Web Api中设置默认响应类型
我有一组托管在WCF Web Api的服务,我通过
javascript用
JSON与它们进行通信.在大多数情况下,我可以修改标头的接受位以要求JSON响应但是在某些情况下我无法做到这一点.这是由于我正在使用的javascript框架(Ext JS).对于某些事情,它只允许我指定一个URL而不是代理默认值,如标题.
但这不是Ext JS的问题. Web Api似乎默认返回XML,我想知道是否可以更改此默认值以便它可以返回JSON.提前致谢! 解决方法
一些实验似乎表明配置的格式化程序的顺序很重要(这非常直观).
默认情况下,当您创建HttpConfiguration的实例时,其Formatters集合包含以下格式化程序: > XmlMediaTypeFormatter XML是默认格式的原因是因为它是第一个格式化程序.要使JSON成为默认值,您可以将集合重新排序为如下所示: > JsonValueMediaTypeFormatter 给定HttpConfiguration的实例配置,这是重新排序集合的一种方法: var jsonIndex = Math.Max( config.Formatters.IndexOf(config.Formatters.JsonFormatter),config.Formatters.IndexOf(config.Formatters.JsonValueFormatter)); var xmlIndex = config.Formatters.IndexOf( config.Formatters.XmlFormatter); config.Formatters.Insert(jsonIndex + 1,config.Formatters.XmlFormatter); config.Formatters.RemoveAt(xmlIndex); 是否支持我不知道,但它似乎在WebApi 0.6.0上工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |