gpt4 book ai didi

asp.net-web-api - 如何根据接受 header 使用 ASP.NET web mvc 6 返回 xml 或 json

转载 作者:行者123 更新时间:2023-12-04 01:48:57 24 4
gpt4 key购买 nike

我已经使用 ASP.NET mvc 6 实现了一个 web api Controller ,我想以 json 或 xml 的形式返回 Controller 的结果,具体取决于客户端的 Accept header 。例如,如果客户端发送带有“Accept: application/xml”的 GET 请求,那么返回的响应应该是 xml。如果 header 是“Accept: application/json”,那么它应该是 json。目前 Controller 总是返回 json。有没有办法配置这个?注意:这个问题确实是How to return XML from an ASP.NET 5 MVC 6 controller action的重复.但是那里提供的解决方案并没有解决我的问题。下面接受的答案对我有用。

下面给出了 Controller ,它是由 ASP.NET 5 web api 模板提供的:

[Route("api/[controller]")]
public class ValuesController : Controller
{
// GET: api/values
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}

// GET api/values/5
[HttpGet("{id:int}")]
public string Get(int id)
{
return "value";
}

// POST api/values
[HttpPost]
public void Post([FromBody]string value)
{
}

// PUT api/values/5
[HttpPut("{id}")]
public void Put(int id, [FromBody]string value)
{
}

// DELETE api/values/5
[HttpDelete("{id}")]
public void Delete(int id)
{
}
}

感谢您的帮助!

最佳答案

我为你做了研究,你可以单独继续:

需要:

"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.Core": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.Formatters.Xml": "6.0.0-rc1-final"

启动:

 services.Configure<MvcOptions>(options =>
{
options.OutputFormatters.Add(new XmlDataContractSerializerOutputFormatter());
});

here 继续

another

and antoher

关于asp.net-web-api - 如何根据接受 header 使用 ASP.NET web mvc 6 返回 xml 或 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35118546/

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