如何更改 ASP.NET 核心 API 中的默认响应内容类型?



我正在重新实现一个遗留的 API 作为ASP.NET Core web API。 我已经实现了内容协商并且工作正常 - 所有操作都支持基于请求中Accept headerJSONXML响应格式。 我的问题是,如果没有指定接受标头,原始 API 默认为 XML,而我的 ASP.NET 核心 API 默认为 JSON。 当没有接受标头时,如何使默认响应内容类型为 XML?

您可以在Startup中配置它

public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(options => {
options.OutputFormatters.Insert(0, new XmlDataContractSerializerOutputFormatter());
}).SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}

或者只使用控制器中的属性Produces

[Produces("application/xml")]
public class MyController()
{
...
}

最新更新