- From: Tomasz Pluskiewicz <tomasz@t-code.pl>
- Date: Sun, 13 Mar 2016 16:50:31 +0100
- To: "public-hydra@w3.org" <public-hydra@w3.org>
Hi I've been thinking about this for some time. Consider a blogging platform, where I can POST a blog post HTTP/1.1 POST /blog { "title": "My blog post", "text": "some markdown maybe" } But instead of getting published immediately, it could create a draft at, say /drafts/my-blog-post. Now how would I use Hydra to model an operation, which publishes the draft? I would think of a POST operation like HTTP/1.1 POST /blog/published { "@id": "/drafts/my-blog-post" } Unfortunately I don't see how that would be possible. This raises a number of questions: 1. Should it be possible to define complete or partial body of an operation in addition to the "expects" property? I'm thinking { "operation": [ "expects": "BlogPost", "body": { "title": "New blog post" } ] } If the "expects" was absent, the "body" would be the complete request to be sent by the client. Otherwise it could serve as an initial representation to create the UI/form. 2. Should it be possible to have an operation not on self but on another resource. This is what I could write to describe the publish operation above: { "operation": [ "@type": "PublishOperation", "url": "/blog/published", "body": { "@id": "/drafts/my-blog-post" } ] } I'm feeling kind of like the "/blog/published" resource should be a link with it's own operation. I'm still not sure how what to do about the predefined "body". Best, Tom
Received on Sunday, 13 March 2016 15:51:14 UTC