バディ!あなたがここで知覚しようとしている地獄です。ステップで説明しようとしましょう。
文書centricは、サービス間の移行を意味します。はい、Web上で情報を意味的に共有する(またはデータ型として理解する)必要があります。
手順:1 である以下に示すハイパーメディアすなわち、HTML、XML、JSON、HAL等たとえばJSONについて の任意の形態とすることができるデータ・タイプのメタデータと標準データ型のサービスのために使用されるプロトコル(HTTP)リンクを持つルートドキュメント。 'todos'と 'profile'はどちらもHALベースのハイパーメディアリンクであり、HALは現在のAPIを増やすだけです。
{ "_links" : {
"todos" : {
"href" : "http://localhost:8080/todos"
},
"profile" : {
"href" : "http://localhost:8080/alps"
}
}
}
リソースのセマンティクスを指す可能性のあるリソースのリンクを示していることに注意してください。 HALの主な焦点は、リンク、プロパティ、および/または埋め込みのいずれかによってリソース/テンプレートをリンクすることです。 上記で説明した所要量は、主に、プロトコルレベルでの共有データ型のリンクです。
ステップ:2 ALPS上記JSONで意味アプリケーションレベルのアフォーダンスiは藤堂が何であるかを知っているが、どのように相互作用することがありますか? Todoと対話するには、アプリケーションレベルの状態遷移が必要です。 リンクからナビゲートした 'todo' JSONを考えてみましょう。また、 'descriptors'や 'Type'(SEMANTIC、SAFE、UNSAFEなど)などの詳細なキーワードも表示します。
'id'プロパティは表現識別子になります。これらは独立したALPSの状態と遷移を適用するためのルールまたはルールです。
{ "version" : "1.0",
"descriptors" : [ {
"id" : "todo-representation",
"descriptors" : [ {
"name" : "description",
"doc" : {
"value" : "Details about the TODO item",
"format" : "TEXT"
},
"type" : "SEMANTIC"
}, {
"name" : "title",
"doc" : {
"value" : "Title for the TODO item",
"format" : "TEXT"
},
"type" : "SEMANTIC"
}, {
"name" : "id",
"type" : "SEMANTIC"
} ]
}, {
"id" : "get-todos",
"name" : "todos",
"type" : "SAFE",
"rt" : "#todo-representation"
}, {
"id" : "create-todos",
"name" : "todos",
"type" : "UNSAFE",
"rt" : "#todo-representation"
}, {
"id" : "delete-todo",
"name" : "todo",
"type" : "IDEMPOTENT",
"rt" : "#todo-representation"
}, {
"id" : "patch-todo",
"name" : "todo",
"type" : "UNSAFE",
"rt" : "#todo-representation"
}, {
"id" : "get-todo",
"name" : "todo",
"type" : "SAFE",
"rt" : "#todo-representation"
} ]
}
いくつかのリンクは、詳細slides about ALPSとRest Exampleにチェックする価値があります。これがあなたの理解を助けてくれることを願っています。
@OliverGierkeこれで助けてくれますか? –