RESTyard ist eine Sammlung von Erweiterungen und Werkzeugen, mit denen RESTful Web-Services im Hypermedia-Format Siren erstellt und konsumiert werden können. Das Projekt wird auf GitHub unter github.com/RESTyard/RESTyard gepflegt und kommt aus dem bluehands-Umfeld.
Kernkomponenten sind unter anderem RESTyard.AspNetCore zur serverseitigen Bereitstellung von Hypermedia-APIs in ASP.NET Core sowie RESTyard.Client für die Verarbeitung solcher APIs in .NET-Clients. Ergänzt wird die Toolchain durch HypermediaUI – ein Werkzeug zur visuellen Exploration und Bedienung Siren-basierter Hypermedia-APIs.
Einsatzzweck ist eine echte Hypermedia-API gemäß REST-Level 3 (Richardson Maturity Model). Statt URLs und Verben in Clients fest zu kodieren, übergibt der Server Aktionen und Übergänge als Teil der Antworten – Clients folgen ihnen wie Hyperlinks im Web. Das macht Schnittstellen flexibler, leichter weiterentwickelbar und entkoppelt Server und Clients deutlich stärker als klassische CRUD-APIs.
Siren als Format wurde von Kevin Swiber 2012 vorgeschlagen und ergänzt einfache JSON-APIs um Klassen, Eigenschaften, Aktionen und Links. RESTyard übernimmt diesen Standard und kombiniert ihn mit C#-typischen Mustern wie strikt typisierten Hypermedia-Klassen, Action-Definitionen und attributbasierter Konfiguration.
Im bluehands-Kontext ist RESTyard ein Werkzeug, mit dem klassische Geschäftsanwendungen in modernes, hypermedia-fähiges Web umgebaut werden können. Insbesondere bei mittelgroßen Branchenanwendungen, die ohnehin Stammdatenpflege, Workflows und Aktionen bündeln, bietet eine Hypermedia-API eine elegante Alternative zu maßgeschneiderten REST- oder GraphQL-Schnittstellen.