我有一个 ASP.NET Core Web API,主要使用 JSON 进行通信。但是,我需要一个特定的端点来处理 XML 请求和响应。
我已将自定义 XmlSerializerOutputFormatter 添加到我的 program.cs 中:
services.AddMvc(options =>
{
options.OutputFormatters.Clear();
options.OutputFormatters.Add(new CustomXmlSerializerOutputFormatter());
});
问题是,现在我的所有端点都被视为接受并生成 XML,如果没有它,我的 xml 端点将无法工作。
我尝试添加
[Consumes("application/json")]
[Produces("application/json")]
我的 json 控制器,但它没有帮助。
我该如何修复它,以便我的应用程序将使用/生成除此一个端点之外的 json。
原来我需要添加
[HttpPost("itn.{format}"), FormatFilter]
对于我的端点,有了这个我不需要OutputFormatters。
您还需要在请求 URL 中包含 .xml 扩展名,例如 /api/shop/itn.xml