@MatrixParam
adnotacji będą miały zastosowanie do określonego zasobu w obecnej URL i @QueryParam
będzie mieć zastosowanie do całego adresu URL żądania.
Weź przykład każdym supermarkecie, Jeśli chcesz, aby wszystkie owoce, które zostaną spełnione wiele warunków, takich jak typ = owoców i zakres cenowy zaczyna się od 300 i wymienić się dopasowując 10 owoców, można przejść do poniżej API Design,
http://dev.brandstore.com/inventory/grocery;type=fruits/price;range=300/?limit=10
W powyższym przykładzie, pierwszy Matrix Param type=fruits
ubiega się tylko spożywczym zasób sama range=300
ubiega się tylko cenie zasobów ale Zapytanie Param dla paginacji limit=10
ubiega się cały URL żądania. I tak, gdyby użyto tylko parametrów zapytania, otrzymalibyśmy parametry takie jak "grocery_type" i "grocery_price", a straciłbyś jasność dodaną przez lokalizację parametrów w żądaniu.
Dobra odpowiedź, ale nie widzę tu różnic między Matrix a Query ... – OhadR
Możesz znaleźć bardzo dobre wyjaśnienie paramateru macierzy w odpowiedzi Tima Sylvestera w [Parametry matrycy URL vs. parametry żądania] (http: //stackoverflow.com/questions/2048121/url-matrix-parameters-vs-request-parameters). Link został już dostarczony jako część mojej odpowiedzi. – andih
+1 za zwięzłą i jasną odpowiedź. –