Buddy! 그 지옥의 정보를 당신이 여기에서 감지하려고 노력하고 있습니다. 단계별로 설명하겠습니다.
문서 중심은 서비스 간 전환을 의미하며 예를 들어 웹에서 정보를 의미 론적으로 공유 (또는 데이터 유형으로 이해)해야합니다.
단계 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에서 의미 응용 프로그램 수준의 어포던스는 내가 할 일이 무엇인지 알고 있지만 어떻게 상호 작용 할 수 있습니까? Todo와 상호 작용하려면 응용 프로그램 수준의 상태 전환이 필요합니다. 아래 링크를 탐색하여 '설명자'및 '유형'(SEMANTIC, SAFE, UNSAFE 등)과 같은 자세한 키워드를 보여주는 'todo'JSON을 고려하십시오.
'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가 도와 드릴 수 있습니까? –