我正在使用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"全球过滤?
答案 0 :(得分:7)
链接文档已经说明了,您只需要仔细阅读 并按照链接;)
请参阅Filters了解详情,包括如何全局应用过滤器。
当您点击链接时,您会找到一个示例:
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"));
});
}