gpt4 book ai didi

c# - 如何强制 ASP.NET Web API 根据我的输入返回 JSON 或 XML 数据?

转载 作者:IT王子 更新时间:2023-10-29 03:57:05 25 4
gpt4 key购买 nike

我尝试根据我的输入获取输出 XML 或 JSON 数据。我使用了以下 WEB API 代码但无法准确输出。

public string Get(int id)
{
if (GlobalConfiguration.Configuration.Formatters.XmlFormatter == null)
{
GlobalConfiguration.Configuration.Formatters.Add(GlobalConfiguration.Configuration.Formatters.XmlFormatter);
}
if (GlobalConfiguration.Configuration.Formatters.JsonFormatter == null)
{
GlobalConfiguration.Configuration.Formatters.Add(GlobalConfiguration.Configuration.Formatters.JsonFormatter);
}
if (id == 1)
{
GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.JsonFormatter);
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;
}
else
{
GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);
GlobalConfiguration.Configuration.Formatters.JsonFormatter.UseDataContractJsonSerializer = true;
}
return "value";
}

最佳答案

global.asax 文件中添加以下代码 app_start 事件。在 API Url 中添加查询字符串:

GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(
new QueryStringMapping("type", "json", new MediaTypeHeaderValue("application/json")));

GlobalConfiguration.Configuration.Formatters.XmlFormatter.MediaTypeMappings.Add(
new QueryStringMapping("type", "xml", new MediaTypeHeaderValue("application/xml")));

例如:

for xml : http://localhost:49533/api/?type=xml

for json: http://localhost:49533/api/?type=json

关于c# - 如何强制 ASP.NET Web API 根据我的输入返回 JSON 或 XML 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19975811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com