Resources Over MVC (ROM) provides a set of attributes and extensions to allow you to simply introduce RESTful features to an existing web site or create a REST based web service from scratch, on top of the familiar ASP.Net MVC.
ROM is not meant to be prescriptive about what constitutes a RESTful web service; there are plenty of opinions out on the web regarding that matter! In fact it was deliberately not called "Rest Over MVC" to avoid the assumption that using this assembly would magically mean your web service was RESTful. For that you will need to do some reading around, design your resources and decide what you think constitutes a RESTful web service.
Hopefully you'll find that the set of helper attributes and extensions in this assembly are not too opinionated, but you should be able to use them to provide the following features:
- Serve and receive multiple representations of resources (e.g. XML and JSON)
- Support different encodings
- Support a constrained number of methods
- Allow representations to include hyper links
- Overload the POST method
Obviously, as this approach is based on ASP.Net, it is providing a web service over the HTTP protocol, so it does make use of standard:
- HTTP headers
- HTTP methods
- HTTP status codes
If you want to look into some of the history of the code I described the initial development on the Shoulders of Giants blog.
Install-Package ROM -Version 220.127.116.11
dotnet add package ROM --version 18.104.22.168
<PackageReference Include="ROM" Version="22.214.171.124" />
paket add ROM --version 126.96.36.199
This package is not used by any popular GitHub repositories.