2016-06-15 3 views
2

우리는 나머지 웹 서비스에서 프로젝션을 사용하고 있습니다. 우리가 따르는 접근법은 다음과 같습니다.투영 나머지

?projection= (attr1,attr2)&include=0. 

여기서 projection 문자열은 출력 개체에 포함 시키거나 제외시킬 모든 변수의 이름을 포함합니다. include0 인 경우 변수를 제외하고 싶은 경우이고 포함이 1이면 projection 문자열에있는 변수를 포함하고자 함을 의미합니다. 이것이 정확하고 RESTful 한가요?

답변

0

RESTful 또는 RESTless가 될 때이 접근법에서는 아무 문제가 없습니다. 반대로, 현장 투영은 널리 사용되는 아주 좋은 방법입니다.

나는 당신의 시나리오를 잘 모르지만 제안 된 솔루션은 너무 복잡해 보입니다. 차라리 include 필드를 제거하고 projection이 비어 있으면 전체 리소스를 반환하고, 그렇지 않으면 projection 쿼리 매개 변수 아래에 나열된 필드 만 반환하십시오.

+0

답변 해 주셔서 감사합니다. 시나리오는 2 가지 경우입니다. 첫 번째 경우는 사용자가 모든 필드 중 일부 필드 만 포함하려는 경우 (즉, 50 개의 필드가 있고 그 중 2 개의 필드 만 원한다고 가정)이 경우 2 개의 필드를 투영 문자열에 제공하고 include = 1을 제공합니다. 두 번째 경우는 사용자가 48 필드의 나머지 부분을 통과하지 않아도되는 50 필드의 출력을 제외하고 2 필드의 출력을 제외시키려는 것입니다. 원하는 필드 만 전달할 수 있습니다. = 0이다. –

+0

@DharmendraSingh 그렇다면 차라리 프로젝션을 변경하고 동시에 필드의 포함 및 제외를 모두 제외하고 포함시키고 포함 시키십시오. 그것은'include = (0 | 1)'보다 훨씬 좋아 보이며 훨씬 더 읽기 쉽습니다. – Opal