Graphite is a simple, lightweight, convention based web framework built on Web Api.

Conventional

Nearly every aspect of Graphite is driven by conventions, reducing ceremony.

Extensible

Graphite is highy extensible, allowing you to customize and extend every aspect of the framework.

Flexible

Graphite ships with some opionions, but is designed to support your opinions and work the way you want to work.

  • Can run side-by-side with existing Web Api controllers.
  • IoC is baked in from the ground up.
  • Heavy emphasis on testability.
  • Heavy emphasis on flexibility and configurability. IoW maximizing extensibility and minimizing opinions so you can build your API how you want to.
  • Lightweight and simple, out of the box functionality is purposely kept to a minimum.
  • POCO's, no inheritance.
  • Conventional routing and urls out of the box.
  • Conventionally override almost any part of the framework.
  • Supports the handler approach (i.e. a single class with one action).
  • Supports behavior chains (AKA the Russian Doll Model).
  • Supports action sources which allow you to generate routes.
  • Diagnostics out of the box.
  • Supports multiple querystring and form values with the same name.
  • Supports wildcard url parameters.
  • Currently supports only StructureMap out of the box but any IoC container can be plugged in.
  • Currently supports Json.NET, Bender and the FCL XML serializer but you can plug in any serializer.