Abstract
What if creating an endpoint to handle a REST resource was as simple as:
```
type MyResource struct {}
rp := rip.ResourceProvider[MyResource](db)
http.HandleFunc(rip.HandleResource[MyResource]("/my_resource", rp)
```
And then, GET gets, POST creates, PUT updates and DELETE deletes, automatically, no other code involved for simple CRUD? And you specialize your resource provider if you need something more complex than that, but still without having to deal with HTTP specificities.
We'll explore how generics can give you just that, and how it is implemented, so you can see all that code you wouldn't have to write anymore.