이것은 매우 기본적인 질문 인 것 같습니다. 유용한 자료의 방향으로 나를 가리켜 주 시옵소서.더 많은 양의 데이터를 stateless RESTful 검색 서비스로 보내는 방법
그래서 일부 데이터를 검색하는 RESTful 서비스가 있습니다. 그러나 RESTful 서비스는 검색을 수행하기 위해 일정량의 데이터가 필요합니다. 이 데이터는 대략 "사용자 컨텍스트"데이터 - 서비스가 검색 작업을 수행하는 데 사용해야하는 사용자 (호출 응용 프로그램에 의해 저장되었거나 다른 응용 프로그램에서 이전에 검색되었는지 여부)에 대한 정보로 요약 될 수 있습니다.
REST가 의미 론적으로 작동하므로 무언가를 검색하는 올바른 동사 (HTTP 메서드)는 GET 요청입니다. 소량의 데이터 만 사용하는 것으로 보이는 대부분의 예 GET 요청은 데이터가 URL로 전달됩니다. 그러나 검색을 위해 더 많은 양의 데이터가 필요한 서비스 영역에 들어가게되면 모든 정보를 URL에 넣는 것이 잘못된 것처럼 보입니다. 뿐만 아니라 특정 구성 요소 (종종 255 자 정도의 IIRC)에 의해 시행되는 URL 길이에는 알려진 제한이 있습니다.
겉보기 사용할 수있는 옵션은 다음과 같습니다
- 를 사용하여 POST 요청 본문에 데이터를 보낼 수 있습니다. 그러나 우리는 아무것도 업데이트하지 말고 검색 만하기 때문에 의미가 없습니다.
- 더 많은 부분의 정보 (내 경우에는 "사용자 컨텍스트")를 HTTP 헤더에 넣으십시오. 그러나 헤더가 헤더가 아니라 데이터로 사용되어야하므로 "잘못된 느낌"이 있습니다.
- 여러 개의 요청을 만들어 여러 URL로 데이터를 보냅니다. 그러나 이것은 서비스가 요청을 함께 묶을 수있는 상태를 유지해야하기 때문에 무국적 목표를 깨뜨리는 것으로 보입니다.
- 데이터를 데이터베이스에 쓴 다음 서비스에서 키를 전달하여 거기에서 데이터를 검색하십시오. 그러나 이로 인해 요청 자체가 포함되지 않으며 성능 병목 현상이 발생합니다.
다른 옵션이 있습니까? 가장 좋은 방법은 무엇입니까?