2016-12-13 7 views
0

私はsomebaseurl/myresource/id123の下でアクセス可能なリソースを持っています そのリソースはもちろんいくつかのプロパティを持ち、他のリソースへのリンクもいくつかサポートされています。 これまでのところ、とても良いです。 これらの操作がsomebaseurl/myresource/id123のリソースのURLで実行されるhttp動詞に対応している限り、すべてが正常です。 しかし、somebaseurl/myresource/id123/somespecialactionでPOSTを発行してアクセスできる特別なアクションを定義した場合はどうなりますか? これをリソース内でどのように表現できますか? JSON-LD + Hydraはアクションをサポートしていません。ヒドラは操作をサポートしていますが、リソース内の操作に「エンドポイント」または「URL」プロパティを指定することはできません。 somebaseurl/myresource/id123(すべてのHTTP動詞以外、何もありません)によってアクセス可能な操作に制限されています これらの境界をリソース表現内に残すにはどうすればよいですか?JSON-LD with HYDRA:カスタム操作を定義し、そのURLを指定する方法は?

{ 
    "@context":"https://contexts.dictionary.mycompany-group.com/person.jsonld", 
    "@id":"https://myapi.mycompany.com/persons/BE14A7269802498F992813885546D058", 
    "@type":"https://schema.org/Person", 
    "name": "Mustermann", 
    "operation" 
    : [ 
     {"@type": "DeleteResourceOperation","method": "DELETE"}, 
     {"@type": "ReplaceResourceOperation","method": "PUT"} 
     ], 
    // now how would one specify this with JSON-LD augmented by HYDRA? 

    {"@type": "some_special_operation","method": "POST", URL:"https://myapi.mycompany.com/persons/BE14A7269802498F992813885546D058/some_special_operation"} 
} 

答えて

0

私は特定のリソース インスタンス上で操作を指定する方法を探しています。操作のURLとHTTPメソッドを指定可能でなければなりません。 例(最後の3行を確認してください):

{

"@Context": "https://contexts.dictionary.mycompany-group.com/person.jsonld"、

"@id":」https://myapi.mycompany.com/persons/BE14A7269802498F992813885546D058 " 、 "@type":" https://schema.org/Person " "名前": "Mustermann"、 "操作":[ { "@type": "DeleteResourceOperation"、 "方法": "削除"}、{ "@type": "ReplaceResourceOperation"、"メソッド ":" PUT "} ]、

// HYDRAで拡張されたJSON-LDでこれをどのように指定するのですか?

その操作に上記のノード から他の「some_special_operation」を参照するか、または新しいトップレベルのノードを作成する必要が

{ 「@type」:「some_special_operation」、 "メソッド ": "POST"、

URL:" https://myapi.mycompany.com/persons/BE14A7269802498F992813885546D058/so me_special_operation」 }}

だから、どちらかあなたは 2つのリソース間の関係を説明し、 "relationshipProperty" のためのいくつかのプロパティを選ぶだろう

BE14A7269802498F992813885546D058 
    - operation: delete + put 

    5546D058/some_special_operation 
    - operation: post 

または

BE14A7269802498F992813885546D058 
    - operation: delete + put 
    - relationshipProperty: 
     ... 5546D058/some_special_operation 
     - operation: post 

。 ));私が原因スタック*コミュニティは初心者レベルで私を評価しているという事実まであなたの質問を投票カント - 言われて、私たちは現在、これを簡素化しようとしている、 https://github.com/HydraCG/Specifications/issues/3

+0

感謝を見ること

関連する問題