在RESTful API中更改/附加请求标头c#
我有一个非常奇怪的情况(可能只适用于我)。我开发了一个RESTful API。默认情况下,它根据客户端在头文件中发送的内容类型将结果作为JSON/XML/TEXT返回。在RESTful API中更改/附加请求标头c#
现在客户说他只想将响应设置为默认值,而不是XML。我的意思是,客户端不会在头中发送任何内容类型,并且默认情况下会以XML的形式发送请求。
当我从浏览器访问这个API时,它将它作为XML返回,但是当客户端的应用程序请求它时,默认返回JSON结果。他们通过将内容类型放在标头中而将结果作为XML获得,但他们不想这样做,并且希望默认具有XML结果。
我希望我清楚它。如果没有,请让我知道。
任何帮助,将不胜感激。谢谢
[更改] 我有兴趣知道是否有某种方式可以在服务器上收到请求时修改请求标头。
它是在MVC3中,C#。
回答:
我找到答案并在此处发帖。我只是删除了其他的返回类型,除了像下面的XML类型:
void ConfigureApi(HttpConfiguration config) {
// Remove the JSON formatter
config.Formatters.Remove(config.Formatters.JsonFormatter);
// or
// Remove the XML formatter
config.Formatters.Remove(config.Formatters.XmlFormatter);
}
有关详细信息,请按照下面的链接 http://www.asp.net/web-api/overview/formats-and-model-binding/json-and-xml-serialization
感谢
回答:
您不能更改请求标头,只是查询它们。
我想你在控制器中返回你的结果作为一个简单的字符串,不是吗?
而且,您根据您从请求中读取的内容类型切换结果,不是吗?
客户电话的内容类型是什么?
UPDATE:
看看这个页面:
http://aleembawany.com/2009/03/27/aspnet-mvc-create-easy-rest-api-with-json-and-xml/
这是对以前版本的MVC的解决方案,但它会给你你需要的解决方案的想法:
根据请求内容类型调整行动结果
以上是 在RESTful API中更改/附加请求标头c# 的全部内容, 来源链接: utcz.com/qa/263246.html