- From: Markus Lanthaler <markus.lanthaler@gmx.net>
- Date: Sun, 14 Dec 2014 20:44:43 +0100
- To: <public-hydra@w3.org>
On 1 Dez 2014 at 03:43, ☮ elf Pavlik ☮ wrote:
> Howdy!
Hola :-)
> I just got prototype of PLP Provider to the point where I can start
> implementing Hydra API
> https://github.com/hackers4peace/plp-provider/tree/hydra
Great! I'm writing this offline so I can't have a look at the moment.
> Currently README describes implemented API, TL;DR
>
> POST /
> GET /:uuid
> PUT /:uuid
> DELETE /:uuid
>
> Tomorrow I plan to work on first draft of hydra:ApiDocumentation. Few
> questions come to my mind
>
> 1. Can I set entrypoint to / and define for it suportedOperation
> { "method": "POST", "@type": "CreateResourceOperation" }
Yes. Make sure that you use hydra:operation if you associate it to the "/" resource. supportedOperation has to be used with either a class or a property and then applies to all instances of the class or values of that property.
> 2. From API perspective I would like to treat all resources as
> plp:Profile, but let them have actual types like schema:Person,
> schema:Event etc. Do I need to include plp:Profile in @type of each
> resource or hydra:ApiDocumentation could handle this somehow?
Yes, I guess you have.. unless it is fine for you to depend on some RDFS inferences.
> 3. How to describe required Authorization header? - POST, PUT, DELETE
> require JSON Web Token(JWT)[1] in it
Hydra doesn't allow you to describe that at the moment. You may use HTTP's authentication headers for it instead.
> 4. How to describe property which requires Mozilla Persona assertion[2],
> assuming existence of an URI for such class (let's say
> persona:Assertion). Would something like below do:
>
> {
> "@context": "http://www.w3.org/ns/hydra/context.jsonld",
> "@id": "http://hackers4peace.net/plp/api#login",
> "@type": "Link",
> "title": "Login",
> "description": "A link to login endpoint",
> "supportedOperation": [
> {
> "@type": "LoginOperation",
> "title": "Login to the web service",
> "method": "POST",
> "expects": "persona:Assertion",
> "returns": "auth:JsonWebToken",
> "statusCodes": [
> ... optional information about status codes that might be
> returned ...
> ]
> }
> ]
> }
Yes. This is how I would describe it.
> Thanks for your feedback!
You are welcome :-) Please keep us posted on your progress
> [1] http://jwt.io
> [2] https://developer.mozilla.org/en-US/docs/Web/API/navigator.id.get
--
Markus Lanthaler
@markuslanthaler
Received on Sunday, 14 December 2014 19:45:28 UTC