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?
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.
IApplicationModelConventionallowing you to set a global route prefix, which is then combined into all actions
IApplicationModelConventionallowing 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.cshtmland you can now navigate to
<server root>/MyPagein the browser. Supports the typical Razor constructs - inline C# code,
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... :)