Documentation
¶
Index ¶
- type DeleteRelationshipRequest
- type Error
- type ErrorSource
- type JSONAPI
- type Link
- type Links
- type PatchResourceRequest
- type PatchResourceRequestData
- type PostRelationshipRequest
- type PostResourceRequest
- type PostResourceRequestData
- type Relationship
- type RelationshipData
- type Resource
- type ResourceId
- type ResponseDocument
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DeleteRelationshipRequest ¶
type DeleteRelationshipRequest struct {
Data []ResourceId `json:"data"`
}
type Error ¶
type Error struct {
// A unique identifier for this particular occurrence of the problem.
Id string `json:"id,omitempty"`
Links Links `json:"links,omitempty"`
// The HTTP status code applicable to this problem, expressed as a string value.
Status string `json:"status,omitempty"`
// An application-specific error code, expressed as a string value.
Code string `json:"code,omitempty"`
// A short, human-readable summary of the problem that SHOULD NOT change from occurrence to
// occurrence of the problem, except for purposes of localization.
Title string `json:"title,omitempty"`
// A human-readable explanation specific to this occurrence of the problem. Like title, this
// field’s value can be localized.
Detail string `json:"detail,omitempty"`
// An object containing references to the primary source of the error.
Source *ErrorSource `json:"source,omitempty"`
// A meta object containing non-standard meta-information about the error.
Meta map[string]any `json:"meta,omitempty"`
}
Error objects provide additional information about problems encountered while performing an operation.
type ErrorSource ¶
type ErrorSource struct {
// A JSON Pointer [RFC6901] to the value in the request document that caused the error [e.g.
// "/data" for a primary data object, or "/data/attributes/title" for a specific attribute].
Pointer string `json:"pointer,omitempty"`
// A string indicating which URI query parameter caused the error.
Parameter string `json:"parameter,omitempty"`
// A meta object containing non-standard meta-information about the error.
Header string `json:"header,omitempty"`
}
An object containing references to the primary source of the error.
type JSONAPI ¶
type JSONAPI struct {
// A string indicating the highest JSON:API version supported.
Version string `json:"version,omitempty"`
// An array of URIs for all applied extensions.
Ext []string `json:"ext,omitempty"`
// An array of URIs for all applied profiles.
Profile []string `json:"profile,omitempty"`
// A meta object containing non-standard meta-information.
Meta map[string]any `json:"meta,omitempty"`
}
type Link ¶
type Link struct {
// A string whose value is a URI-reference [RFC3986 Section 4.1] pointing to the link’s target.
HREF string `json:"href"`
// A string indicating the link’s relation type. The string MUST be a valid link relation type.
RelationType string `json:"rel,omitempty"`
// A link to a description document (e.g. OpenAPI or JSON Schema) for the link target.
DescribedBy string `json:"describedBy,omitempty"`
// A string which serves as a label for the destination of a link such that it can be used as a
// human-readable identifier (e.g., a menu entry).
Title string `json:"title,omitempty"`
// A string indicating the media type of the link’s target.
Type string `json:"type,omitempty"`
// A string or an array of strings indicating the language(s) of the link’s target. An array of
// strings indicates that the link’s target is available in multiple languages. Each string MUST
// be a valid language tag [RFC5646].
HREFLanguage any `json:"hreflang,omitempty"`
// A meta object containing non-standard meta-information about the link.
Meta map[string]any `json:"meta,omitempty"`
}
A “link object” is an object that represents a web link.
type Links ¶
An object used to represent links.
Within this object, a link MUST be represented as either:
- a string whose value is a URI-reference [RFC3986 Section 4.1] pointing to the link’s target, - a link object or - null if the link does not exist.
type PatchResourceRequest ¶
type PatchResourceRequest struct {
// The document’s “primary data”.
Data PatchResourceRequestData `json:"data"`
}
type PatchResourceRequestData ¶
type PatchResourceRequestData struct {
Type string `json:"type"`
Id string `json:"id"`
// An object containing the attributes to be updated.
Attributes map[string]json.RawMessage `json:"attributes,omitempty"`
// An object containing the relationships to be updated.
Relationships map[string]RelationshipData `json:"relationships,omitempty"`
}
type PostRelationshipRequest ¶
type PostRelationshipRequest struct {
Data []ResourceId `json:"data"`
}
type PostResourceRequest ¶
type PostResourceRequest struct {
// The document’s “primary data”.
Data PostResourceRequestData `json:"data"`
}
type PostResourceRequestData ¶
type PostResourceRequestData struct {
Type string `json:"type"`
// An object containing the attributes to be updated.
Attributes map[string]json.RawMessage `json:"attributes,omitempty"`
// An object containing the relationships to be updated.
Relationships map[string]RelationshipData `json:"relationships,omitempty"`
}
type Relationship ¶
type Relationship struct {
// A links object containing at least one of the following:
//
// - self: a link for the relationship itself (a “relationship link”)
// - related: a related resource link
// - a member defined by an applied extension
Links Links `json:"links,omitempty"`
// The resource linkage.
//
// If given, this must be `nil`, `ResourceId`, or `[]ResourceId`.
Data *any `json:"data,omitempty"`
// A meta object containing non-standard meta-information about the relationship.
Meta map[string]any `json:"meta,omitempty"`
}
type RelationshipData ¶
type RelationshipData struct {
// Either nil, `ResourceId`, or `[]ResourceId`.
Data any `json:"data"`
}
func (*RelationshipData) UnmarshalJSON ¶
func (r *RelationshipData) UnmarshalJSON(buf []byte) error
type Resource ¶
type Resource struct {
Type string `json:"type"`
Id string `json:"id"`
// An attributes object representing some of the resource’s data.
Attributes map[string]any `json:"attributes,omitempty"`
// A relationships object describing relationships between the resource and other JSON:API
// resources.
Relationships map[string]any `json:"relationships,omitempty"`
// A links object containing links related to the resource.
Links Links `json:"links,omitempty"`
// A meta object containing non-standard meta-information about the resource that can not be
// represented as an attribute or relationship.
Meta map[string]any `json:"meta,omitempty"`
}
type ResourceId ¶
type ResponseDocument ¶
type ResponseDocument struct {
// The document’s “primary data”.
Data *any `json:"data,omitempty"`
// An array of error objects.
Errors []Error `json:"errors,omitempty"`
// A meta object containing non-standard meta-information.
Meta map[string]any `json:"meta,omitempty"`
// An object describing the server’s implementation.
JSONAPI *JSONAPI `json:"jsonapi,omitempty"`
// A links object related to the primary data.
Links Links `json:"links,omitempty"`
}
This object defines a document’s “top level”.
Click to show internal directories.
Click to hide internal directories.