在 ASP.NET 核心中全局添加 "Produces" 过滤器
Adding the "Produces" filter globally in ASP.NET Core
我正在使用 ASP.NET Core 开发 REST Api。我想强制应用程序产生 JSON 响应,我可以用 "Produces" 属性装饰我的控制器。示例:
[Produces("application/json")]
public class ProductsController : ControllerBase
{
...
}
但根据这篇文章:https://docs.microsoft.com/en-us/aspnet/core/mvc/models/formatting 过滤器可以全局应用,但我真的不知道如何应用。
有没有人可以提供一个简单的示例来说明如何在全局范围内应用 "Produces" 过滤器?
linked 文档已经说明了,您只需 阅读 仔细 并遵循 link ;)
See Filters to learn more, including how to apply filters globally.
当您按照 link 进行操作时,您会找到一个示例:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(options =>
{
options.Filters.Add(typeof(SampleActionFilter)); // by type
options.Filters.Add(new SampleGlobalActionFilter()); // an instance
});
services.AddScoped<AddHeaderFilterWithDi>();
}
你的情况:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(options =>
{
options.Filters.Add(new ProducesAttribute("application/json"));
});
}
我正在使用 ASP.NET Core 开发 REST Api。我想强制应用程序产生 JSON 响应,我可以用 "Produces" 属性装饰我的控制器。示例:
[Produces("application/json")]
public class ProductsController : ControllerBase
{
...
}
但根据这篇文章:https://docs.microsoft.com/en-us/aspnet/core/mvc/models/formatting 过滤器可以全局应用,但我真的不知道如何应用。
有没有人可以提供一个简单的示例来说明如何在全局范围内应用 "Produces" 过滤器?
linked 文档已经说明了,您只需 阅读 仔细 并遵循 link ;)
See Filters to learn more, including how to apply filters globally.
当您按照 link 进行操作时,您会找到一个示例:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(options =>
{
options.Filters.Add(typeof(SampleActionFilter)); // by type
options.Filters.Add(new SampleGlobalActionFilter()); // an instance
});
services.AddScoped<AddHeaderFilterWithDi>();
}
你的情况:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(options =>
{
options.Filters.Add(new ProducesAttribute("application/json"));
});
}