Skip to content

Response when updating relationship of resource not conform spec #578

Closed
@maurei

Description

@maurei

This issue is analogous to #577 but for relationships instead of attributes.

200 OK
If a server accepts an update but also changes the targeted relationship(s) in other ways than those specified by the request, it MUST return a 200 OK response. The response document MUST include a representation of the updated relationship(s).

A server MUST return a 200 OK status code if an update is successful, the client’s current data remain up to date, and the server responds only with top-level meta data. In this case the server MUST NOT include a representation of the updated relationship(s).

the part in bold is currently not properly implemented.

The associated repository method does not return anything:

public interface IEntityWriteRepository<TEntity, in TId>
    where TEntity : class, IIdentifiable<TId>
{
  ....
  Task UpdateRelationshipsAsync(object parent, RelationshipAttribute relationship, IEnumerable<string> relationshipIds);
  ....
}

This is fine for the default implementation. But if, as in #577, a developer has business logic that affects the relationships in a way different than as specified by the request, a response must include a representation of the updated relationships

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions