如何使用 SwashBuckle 设置或删除默认响应内容类型
How do I set or remove the Default Response Content Type Using SwashBuckle
使用 SwashBuckle 时的默认响应内容类型是 text/plain
。如何将默认值更改为 application/json
甚至删除 text/plain
?
端点的响应内容不是由 Swashbuckle
决定的,而是由 ASP.NET Web API 项目配置中设置的格式化程序决定的。
要删除 text/plain
内容类型并仅支持 application/json
,您可以将其添加到 WebApiConfig
的 Register
方法中:
GlobalConfiguration.Configuration.Formatters.Clear();
var jsonFormatter = new JsonMediaTypeFormatter();
jsonFormatter.SupportedMediaTypes.Clear();
jsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));
GlobalConfiguration.Configuration.Formatters.Add(jsonFormatter);
对于 ASP.NET Core 3 Web API,我必须在 Startup.ConfigureServices()
方法中执行以下操作:
services.AddControllers(options => options.OutputFormatters.RemoveType<StringOutputFormatter>());
和here你可以找到相应的文档。
使用 SwashBuckle 时的默认响应内容类型是 text/plain
。如何将默认值更改为 application/json
甚至删除 text/plain
?
端点的响应内容不是由 Swashbuckle
决定的,而是由 ASP.NET Web API 项目配置中设置的格式化程序决定的。
要删除 text/plain
内容类型并仅支持 application/json
,您可以将其添加到 WebApiConfig
的 Register
方法中:
GlobalConfiguration.Configuration.Formatters.Clear();
var jsonFormatter = new JsonMediaTypeFormatter();
jsonFormatter.SupportedMediaTypes.Clear();
jsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));
GlobalConfiguration.Configuration.Formatters.Add(jsonFormatter);
对于 ASP.NET Core 3 Web API,我必须在 Startup.ConfigureServices()
方法中执行以下操作:
services.AddControllers(options => options.OutputFormatters.RemoveType<StringOutputFormatter>());
和here你可以找到相应的文档。