2017-01-04 67 views
1

我正在使用ASP.NET Core開發REST Api。我想強制應用程序產生JSON響應,我可以使用「Produces」屬性對我的控制器進行裝飾。例如:在ASP.NET Core中全局添加「Produces」過濾器

[Produces("application/json")] 
public class ProductsController : ControllerBase 
{ 
    ... 
} 

但根據這篇文章:https://docs.microsoft.com/en-us/aspnet/core/mvc/models/formatting過濾器可以在全球應用,但我真的不能弄清楚如何。

有沒有人可以提供一個簡單的例子來說明如何在全球應用「Produces」過濾器?

回答

3

鏈接的文檔告訴它已經,你只需要閱讀仔細並按照鏈接

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")); 
    }); 
}