You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A resource can be created by sending a POST request to a URL that represents a collection of resources. The request MUST include a single resource object as primary data. The resource object MUST contain at least a type member.
Something small I noticed - we don't require that the type member is present in the request.
We do validate it if it is present (empty/invalid values return an error) but if it's omitted, records can still be created.
For full compliance with the spec, an error should also be returned if the type is not provided as part of the data hash. This would probably be a breaking change even though it's to add compliance 🤔
Runtime
Elixir version 1.17.0-rc.1
Erlang version 27.0
OS macOS Sonoma
Ash version 3.0.11
AshJsonApi version 1.2.0
The text was updated successfully, but these errors were encountered:
sevenseacat
changed the title
When creating resources - The resource object MUST contain at least a type member.
JSON:API spec compliance when creating resources - The resource object MUST contain at least a type member.
Jun 12, 2024
Yeah, realistically it's not something we can change now unless we put it behind some kind of strict flag. I wouldn't be opposed to that. In general we always know the type of something at all times, so it would only be for spec compliance not for anything that we need.
Describe the bug
From: https://jsonapi.org/format/#crud-creating
Something small I noticed - we don't require that the
type
member is present in the request.We do validate it if it is present (empty/invalid values return an error) but if it's omitted, records can still be created.
To Reproduce
A
json_api
config and :Expected behavior
For full compliance with the spec, an error should also be returned if the
type
is not provided as part of thedata
hash. This would probably be a breaking change even though it's to add compliance 🤔Runtime
The text was updated successfully, but these errors were encountered: