RESTful API에서 제공하는 리소스에 대한 기능 검색의 일부로 서비스에서 허용 된 값을 알리는 방법을 찾고 있습니다.RESTful 서비스 - 클라이언트가 자원 속성에 대해 유효한 값을 찾는 방법은 무엇입니까?
GET /apples/17
이 요청 수익률 :
{
"name": "My yummy apple",
"color": "green"
}
클라이언트가 color
값이 때 예를 들어 PUT
팅 새로운 버전의 유효을 이해하기위한 apple
자원 속성 color
을 가지고 다음의 예를 살펴 보자 이 사과는 여러 가지 방법으로 생각할 수 있습니다. 그러나 여기서는 모범 사례를 찾지 못했습니다. HTTP OPTIONS 동사가이 세분화 된 발견을 위해 만들어지지 않은 것 같습니다. 난 그냥 /apples
컬렉션에 배열 속성을 추가해야합니다 :
GET /apples
응답 :
{
...
"colorValues": ["red", "green"]
}
이 더 나은 그리고 더 일반적으로 사용되는 방법이 있습니까?
편집 : 모든 "실제"리소스에 대한 스키마 리소스를 추가하는 것이 가능한 한 가지 방법을 깨달았습니다. 어떤 것이 apple
리소스에 대한 JSON 스키마 표현을 산출하는 GET /schemas/apple
을 좋아했습니다. json-schema.org의 수정 된 예 :
{
"id": "http://foo.bar/schema#",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "schema for an apple resource",
"type": "object",
...
"colorValues": {
"enum": [ "red", "green" ]
}
}
이 예제는 아직 발견되지 않았습니다.
이 접근법은 정의와 스키마를 아주 간략하게 유지하려는 나의 야망을 포착합니다. 귀하의 의견을 보내 주셔서 감사합니다! –