Comments (3)
Thanks for sharing, @piotrgolasz. But it's a bit different. Because you have only one model type. And I have serializer for each endpoint, which completely describes how it should be represented in API.
Keep in mind that in your implementation once you change model fields - your API will be changed too.
Your resource is tightly coupled with the model. This is not bad for private APIs which are fully under your own control and you are free to change them at your will and no client issues will be raised in this case. But if you are building public API, then such changes will lead you to issues on client side, because each change of the fields will require all clients to be updated as well.
from json-api-php.
By the way, I've implemented polymorphism in my project. I want to test it in production in next couple of months. I'll make a PR with this changes if everything will work as expected.
from json-api-php.
I successfully created a Serializer class for all my models:
https://github.com/piotrgolasz/koseven/blob/skanstull/modules/skanstull/classes/ModelSerializer.php
from json-api-php.
Related Issues (20)
- Should sparse fieldsets and includes be specified on the document rather than the primary element? HOT 2
- Throw an exception if attempting to include a relationship that doesn't exist HOT 1
- Review protected methods and consider making some private HOT 2
- SerializerInterface violates LSP HOT 11
- Support relationship aliases HOT 1
- Add a JSON-API validator? HOT 2
- Rename library to json-api-response HOT 39
- Add relationships without included part HOT 3
- Paging links are duplicated unless removed from URI HOT 2
- Document::setData() should be nullable HOT 7
- Relationships links HOT 2
- Collection shouldn't have to need a serializer in case of Resource collection HOT 2
- Allow prepending handlers to ErrorHandler HOT 1
- Add Cursor support
- Response when resource not found HOT 2
- Code examples for GET resource, GET collection HOT 2
- Resource word is reserved in PHP7 HOT 3
- data and errors MUST NOT coexist
- Is this project still maintained? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from json-api-php.