Initium is a .NET library that simplifies building APIs by standardizing service management, routing, and response handling.
$ dotnet add package InitiumInitium is a library for simplifying .NET API development, offering standardized service operations, flexible routing, and seamless chaining of service results for cleaner and more maintainable code.
[ApiResponse], providing clear and consistent HTTP status documentation.ServiceResult enables clear success or failure status, making error handling and conditional logic seamless.ApiException provides a straightforward way to handle specific HTTP error codes, improving code clarity.ServiceResult or typed results, allowing for intuitive chaining and cleaner service logic.To get started with Initium, just add the package using NuGet:
dotnet add package Initium
Here's how to create a controller :
public class CoffeeController(CoffeeService service) : ApiController
{
[HttpPost]
[ApiResponse(200, "Coffee prepared successfully.")]
[ApiResponse(400, "An error occurred during the preparation process.")]
public ActionResult PrepareCoffee() => service.PrepareCoffee();
}
And here's how to create an action in a service, each function returns a ServiceResult, and can be chained.
public class CoffeeService
{
public ServiceResult DoSomething()
{
return ServiceResult.Error("Something happened!", HttpStatusCode.Conflict);
}
public ServiceResult PrepareCoffee()
{
var doSomethingResult = DoSomething();
if (doSomethingResult == false) return doSomethingResult;
return ServiceResult.Ok("The coffee is now DONE!");
}
}
See CONTRIBUTING.md for best practices and instructions on setting up your development environment to work on Initium.