질문에 표시된 접근 방식은 실제로 ids
의 각 조합에 리소스가 있음을 의미합니다. 결과는 동일하지만, 1, 2
/items/1,2
/items/2,1
위의 서로 다른 자원을 나타냅니다의 우리가 2 ids
있다고 가정 해 봅시다. 이것은 API 사용자에게 혼동을 줄 수 있습니다.
이 모델을 작성하는 또 다른 방법은 필터링 매개 변수로 쿼리 매개 변수를 사용하는 것입니다. id
은 실제로 리소스의 필드라고 가정합니다.
예, id
1 item
를 받고 :
GET
/items/1
Response:
{
"id": 1,
"type": "table",
"color": "black",
...
}
그래서 질문은, 나는 대량으로 여러 항목을 얻기 위해 무엇을해야하는 경우? 이 질문은 특정 필드의 값으로 필터링 items
의 일반적인 질문으로 일반화 할 수 있습니다. 예컨대 : 점점 모든 그래서 같은 질문 id
이 1
또는 2
입니다 items
을 얻기 위해 요구 될 수있다 유형 테이블
GET
/items?query="name='table'"
Response:
{
"data": [
{
"id": 1,
"type": "table",
"color": "black",
...
},
{
"id": 2,
"type": "table",
"color": "grey",
...
},
{
"id": 6,
"type": "table",
"color": "brown",
...
}
]
}
의 items
. 의 우리가
GET
/items?query="id=1||id=2"
Response:
{
"data": [
{
"id": 1,
"type": "table",
"color": "black",
...
},
{
"id": 2,
"type": "table",
"color": "grey",
...
}
]
}
query
의 구문이 걱정 편안하고 어떤 제약 조건입니다에||
로 또는 동작을 모델링 해 봅시다 ? URI는 RFC 3986에 규정 된 규칙을 따르는 단순한 식별자입니다. 개인적으로 URI 식별자의 일부로 쉼표로 구분 된 값 목록을 사용할 때 아무런 문제가 없습니다. –