Each method of your API has a name and a corresponding HTTP path. Clients POST the JSON request and receive a JSON response.
Make your API less RPC-ish and more RESTful by adding attributes to your FSD methods and data fields.
Commit your API definition to source control for revision tracking and peer review.
Run command-line tools from your automated builds to validate the syntax and ensure that generated code and documentation stays up-to-date.
Facility generates a C# interface with one method for each method of your API.
You write a C# class that implements that interface and then integrate that class into an ASP.NET app (Web API or Core).
Facility takes care of the HTTP mapping so you can focus on the implementation logic.
Your C# class is easily unit tested, encourages good separation of concerns, and is more flexible than a hand-coded controller.
Edit the FSD and regenerate the code to rapidly add new features to your API.
Better yet, help us support your favorite framework by contributing to this open source project.
The generated code is designed to avoid breaking changes even as your API evolves.
Don't repeat yourself: The C# client library and the server implementation use the same C# interfaces and classes.
Better yet, help us support your favorite language by contributing to this open source project.