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/WebAPIContrib.Core
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.
Main
- WebApiContrib.Core
GlobalRoutePrefixConvention
-IApplicationModelConvention
allowing you to set a global route prefix, which is then combined into all actionsFromBodyApplicationModelConvention
-IApplicationModelConvention
allowing you to globally apply body binding source to action parameters. You can also provide predicates to filter on specific controllers, actions or parametersOverridableFilterProvider
- 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 errorsFormatters
- WebApiContrib.Core.Formatter.Bson
- WebApiContrib.Core.Formatter.Csv
- WebApiContrib.Core.Formatter.PlainText
- WebApiContrib.Core.Formatter.Jsonp
TagHelpers
WebPages
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.Other
- WebApiContrib.Core.Concurrency
- WebApiContrib.Core.Concurrency.Redis
- WebApiContrib.Core.Concurrency.SqlServer
Contributing
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... :)
Follow @CH9
Follow @coding4fun
Follow @gduncan411
