Are you jumping onto the ASP.NET Core Web API Train? Looking for some features that are not in the box? Looking for project where you can contribute and share your out-of-the-box solutions? Looking for a community of liked minded others?

Announcing WebApiContrib for ASP.NET Core

In the past, a bunch of us from the ASP.NET Web API community worked together on a WebApiContrib project (or really, projects, cause there were many of them!).

The idea was to provide an easy to use platform, a one stop place for community contributions for ASP.NET Web API – both larger add ons, such as HTML/Razor support for Web API, as well as smaller things like i.e. reusable filters or even helper methods. This worked extremely well – WebApiContrib packages were downloaded over 500k times on Nuget, and a nice community has emerged around the project on Github.

Recently, we decided to restart the project, this time focusing on ASP.NET Core. Since the “brand” has caught on in the community and is fairly recognizable, we just called it WebApiContrib.Core.

There is already a bunch of things there:

  • Main package containing smaller features
  • BSON formatter
  • CSV formatter
  • JSONP formatter
  • PlainText formatter
  • Markdown tag helper
  • WebPages functionality (Razor pages without controllers!)
  • Conditional requests support based on RFC-7232

And it’s growing quickly....


WebAPIContrib.Core is a collection of open source projects, add-ons and extensions to help improve your work with ASP.NET Core and ASP.NET Core MVC.


  • WebApiContrib.Core
    • GlobalRoutePrefixConvention - IApplicationModelConvention allowing you to set a global route prefix, which is then combined into all actions
    • FromBodyApplicationModelConvention - IApplicationModelConvention allowing you to globally apply body binding source to action parameters. You can also provide predicates to filter on specific controllers, actions or parameters
    • OverridableFilterProvider - allows you to override filters from higher scope (i.e. global filters) on lower scope (i.e. controller filters)
    • ValidationAttribute - an action filter returning 400 response in case there are any model state errors




A project allowing you to create Razor web pages without any controller/action infrastructure. Just add a Views/MyPage.cshtml and you can now navigate to <server root>/MyPage in the browser. Supports the typical Razor constructs - inline C# code, @inject etc.



If you would like to contribute, feel free to fork the projects or get in touch with the mailing list: https://groups.google.com/group/webapicontrib or on Slack. Also make sure to look at the contributing guidelines. ...

Go forth and Contrib... :)

The Discussion

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.