Just implementing some stuff using this library 👍
One thing I've found rather confusing is having one ResourceObject entity for received resources and a different ResourceObject entity for when we need to create/update. Not only it was unexpected, it's cumbersome to use (class imports, converting one type into another) and very prone to error.
Also, the Request/ResourceObject entity is write-only, and the Schema/ResourceObject entity is read-only. This severely limits what can be done with the entities.
Use cases this separation gets in the way of include:
- Reading a resource from the API, modifying, then sending back for updating
- Unit tests on code that needs to evaluate ResourceObjects
- Referencing ResourceObject on classes that use both - always need to alias imports
These two should really be the same entity, I can't quite see any reason they should be different things entirely since they're virtually the same thing, and indeed on JSONAPI they're the same thing.