Comments (2)
This check will be done in Type.AddAttr
instead, the Schema.Check
function will remain as it is for now. A different problem are object attributes, because based on the specification member names of links
and relationships
are forbidden.
There are basically two possibilities here:
-
the result of
GetZeroValue
is checked to see if it is amap
orstruct
and then its field names are checked. The problem is that a customMarshalJSON
function could exist, which actually converts illegal field names into valid names. -
the result of
GetZeroValue
is converted to json and then unmarshalled into a map whose keys are checked. The problem is that one can't really predict how the marshaller will handle zero values, which means that illegal fields might slip through the validation when empty fields are omitted.
from jsonapi.
The implementing user is responsible for validating the member names of struct or map attributes.
from jsonapi.
Related Issues (9)
- json.Marshal escapes HTML characters HOT 2
- URL.String() can return incorrect url
- Relationship links contain resource type field parameter HOT 1
- Schema and Type methods should panic
- NewURLFromRaw unnecessary error check
- `Param` and `SimpleURL` default values
- `NewRequest` incorrectly states that the schema is allowed to be nil
- Update supported golang version
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 jsonapi.