【Web Design The Missing Link】Appendix: Other Approaches to Representing Links
Chapter Resource
Representational State Transfer (REST), Roy Thomas Fielding2000 RESTful API Design Webinar, 2nd edition, Brian Mulloy, 2011
Apigee BlogAPI Craft Google Group
Chapter Appendix: Other Approaches to Representing Links
우리가 알고 있는 JSON의 링크를 나타내는 다음 가장 간단한 방법은 다음과 같다.
“owner”: {“href”: “https://dogtracker.com/persons/98765432”}
이 모드의 장점은 - 이 모드만 알면 - 외부 정보를 포함하지 않고 URL 값을 가진 모든 속성을 찾을 수 있다는 것입니다.또한 추가 링크 속성을 배치할 위치를 제공합니다.Terrifically Simple JSON 프로젝트는 이 모드를 더 완전하게 지정하려는 시도입니다.
사용된 다른 스타일은 JSON의 링크를 나타냅니다.
“links”:
[
{
“href”: “https://dogtracker.com/persons/98765432”,
“rel”: “owner”
}
]
이전 스타일과 마찬가지로 이 스타일의 장점은 속성 소유자의 값이 URL이라는 것을 알고 있으며, 이 값을 확인하거나 외부 메타데이터가 필요하지 않다는 것입니다. (날짜와 다른 데이터 형식에 대해서도 비슷한 작업을 수행할 수 있습니다.)단점은 더욱 복잡하고 속성(소유자)의 이름은 현재 rel 속성의 값으로 사칭 오른쪽에 표시되며, 속성 이름은 보통 JSON의 왼쪽에 있는 것이 아니다.
당신이 이런 스타일을 좋아하든 안 좋아하든 우리는 당신에게 결심을 내리게 할 것입니다.그것은 JSON-hyperschema 규범에서 표준화되었거나 적어도 지정되었다.이 스타일을 사용한다면, JSON뿐만 아니라 JSON (JSON 하이퍼모드 규범에 의해 정의된 것) - 유니버설 클라이언트가 링크를 설명할 수 있도록 하는 특수한 미디어 형식을 사용해야 한다고 생각합니다.
링크를 나타내는 다른 형식은 다음과 같습니다.
“owner”:
{
“dataType”: “URI”,
“value”: “https://dogtracker.com/persons/98765432”
}
이런 형식은 우리에게 충분한 의의가 있기 때문에 우리는 전체 프로젝트에서 그것을 사용했다.양쪽 끝에서 JSON 정렬화 및 반정렬화를 확장하여 문자열이 아닌 URI 객체를 반환할 수 있습니다. 이 모드를 자동으로 사용하는 데 도움이 됩니다.이런 방법은 상당히 효과가 있지만, 프로젝트의 모든 사람들이 프로그래밍할 때 이 동작을 정확하게 실행하는 것을 잊어버리고, 실수로 간단한 문자열을 URL에 사용하면 오류를 초래할 수 있다.결국 우리는 자신의 프로그래밍 본능에 대항하는 것을 멈추고 간단한 문자열을 사용하기로 결정했다.이 형식을 사용하면 특수한 미디어 형식을 다시 고려해야 합니다.
또 다른 몇 가지 규범을 선택할 수 있다. 이런 규범들은 더욱 복잡한 링크 표현 방법을 정의한다. 예를 들어 Siren, HAL, JSON-LD, RDF/JSON, Collection+JSON, Hydra 등이다.이들 중 하나하나는 링크를 어떻게 표시하는가가 아니라 중요한 기능과 개념을 증가시켰다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
glassfish+mdb+activeMQ자세히 보기 1. active 콘솔에 새로운queue:batchAdjust 2.glassfish의 구성 스크립트를 스크립트로 설정하면 다음과 같습니다. 2. 그리고 netbean6.1로 생성된 MDB에 빨간색 부분을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.