| --- |
| title: GET /geode/v1/{region}/{key1},{key2},...,{keyN} |
| --- |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| Read data for multiple keys in the region. |
| |
| ## Resource URL |
| |
| ``` pre |
| http://<hostname_or_http-service-bind-address>:<http-service-port>/geode/v1/queries[?ignoreMissingKey=true] |
| ``` |
| |
| ## Parameters |
| |
| <table> |
| <colgroup> |
| <col width="33%" /> |
| <col width="33%" /> |
| <col width="34%" /> |
| </colgroup> |
| <thead> |
| <tr class="header"> |
| <th>Parameter</th> |
| <th>Description</th> |
| <th>Example Values</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr class="odd"> |
| <td>ignoreMissingKey</td> |
| <td><strong>Optional</strong>. Boolean to indicate whether to return non-existing keys as null responses. Use this to prevent 400 errors.</td> |
| <td>true |
| <p>false</p></td> |
| </tr> |
| </tbody> |
| </table> |
| |
| ## Example Requests |
| |
| ``` pre |
| GET /geode/v1/orders/1,2,13,4,5?ignoreMissingKey=true |
| Request Payload: null |
| Accept: application/json |
| |
| |
| GET /geode/v1/orders/1,3 |
| Request Payload: null |
| Accept: application/json |
| ``` |
| |
| ## Example Success Responses |
| |
| ``` pre |
| Response Payload: application/json |
| |
| 200 OK |
| Server: Apache-Coyote/1.1 |
| Content-Location: http://localhost:8080/geode/v1/orders/13,2,1,5,4 |
| Content-Type: application/json |
| Transfer-Encoding: chunked |
| Date: Sat, 18 Jan 2014 21:39:04 GMT |
| |
| |
| { |
| "orders": [ |
| null, |
| { |
| "@type": "org.apache.geode.rest.internal.web.controllers.Order", |
| "purchaseOrderNo": 1112, |
| "customerId": 102, |
| "description": "Purchase order for company - B", |
| "orderDate": "02/10/2014", |
| "deliveryDate": "02/20/2014", |
| "contact": "John Doe", |
| "email": "john.doe@example.com", |
| "phone": "01-2048096", |
| "totalPrice": 350, |
| "items": [ |
| { |
| "itemNo": 1, |
| "description": "Product-AAAA", |
| "quantity": 10, |
| "unitPrice": 20, |
| "totalPrice": 200 |
| }, |
| { |
| "itemNo": 2, |
| "description": "Product-BBB", |
| "quantity": 15, |
| "unitPrice": 10, |
| "totalPrice": 150 |
| } |
| ] |
| }, |
| { |
| "@type": "org.apache.geode.rest.internal.web.controllers.Order", |
| "purchaseOrderNo": 11101, |
| "customerId": 101, |
| "description": "Purchase order for company - A", |
| "orderDate": "01/10/2014", |
| "deliveryDate": "01/20/2014", |
| "contact": "Jane Doe", |
| "email": "jane.doe@example.com", |
| "phone": "020-2048096", |
| "totalPrice": 205, |
| "items": [ |
| { |
| "itemNo": 1, |
| "description": "Product-1", |
| "quantity": 5, |
| "unitPrice": 10, |
| "totalPrice": 50 |
| }, |
| { |
| "itemNo": 3, |
| "description": "Product-3", |
| "quantity": 10, |
| "unitPrice": 100, |
| "totalPrice": 1000 |
| }, |
| { |
| "itemNo": 1, |
| "description": "Product-2", |
| "quantity": 10, |
| "unitPrice": 15.5, |
| "totalPrice": 155 |
| } |
| ] |
| }, |
| null, |
| null |
| ] |
| } |
| |
| |
| 200 OK |
| Server: Apache-Coyote/1.1 |
| Content-Location: http://localhost:8080/geode/v1/orders/3,1 |
| Content-Type: application/json |
| Transfer-Encoding: chunked |
| Date: Sat, 18 Jan 2014 21:39:04 GMT |
| |
| { |
| "orders" : [ { |
| "purchaseOrderNo" : 1112, |
| "customerId" : 102, |
| "description" : "Purchase order for company - B", |
| "orderDate" : "02/10/2014", |
| "deliveryDate" : "02/20/2014", |
| "contact" : "John Doe", |
| "email" : "john.doe@example.com", |
| "phone" : "01-2048096", |
| "items" : [ { |
| "itemNo" : 1, |
| "description" : "Product-AAAA", |
| "quantity" : 10, |
| "unitPrice" : 20.0, |
| "totalPrice" : 200.0 |
| }, { |
| "itemNo" : 2, |
| "description" : "Product-BBB", |
| "quantity" : 15, |
| "unitPrice" : 10.0, |
| "totalPrice" : 150.0 |
| } ], |
| "totalPrice" : 350.0 |
| }, { |
| "purchaseOrderNo" : 111, |
| "customerId" : 101, |
| "description" : "Purchase order for company - A", |
| "orderDate" : "01/10/2014", |
| "deliveryDate" : "01/20/2014", |
| "contact" : "Jane Doe", |
| "email" : "jane.doe@example.com", |
| "phone" : "020-2048096", |
| "items" : [ { |
| "itemNo" : 1, |
| "description" : "Product-1", |
| "quantity" : 5, |
| "unitPrice" : 10.0, |
| "totalPrice" : 50.0 |
| }, { |
| "itemNo" : 1, |
| "description" : "Product-2", |
| "quantity" : 10, |
| "unitPrice" : 15.5, |
| "totalPrice" : 155.0 |
| } ], |
| "totalPrice" : 205.0 |
| } ] |
| } |
| ``` |
| |
| ## Error Codes |
| |
| | Status Code | Description | |
| |-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
| | 400 BAD REQUEST | Returned if one or more of the supplied keys is not found in the region and ignoreMissingKey=false (default if parameter is not specified); returned if the specified value for the ignoreMissingKey parameter is a value other than 'true' or 'false'. | |
| | 404 NOT FOUND | The specified region does not exist. | |
| |
| ## Example Error Response |
| |
| ``` pre |
| GET /geode/v1/orders/1,2,13,4,5 |
| Request Payload: null |
| Accept: application/json |
| Response Payload: application/json |
| |
| 400 BAD_REQUEST |
| Server: Apache-Coyote/1.1 |
| Content-Type: application/json |
| Content-Length: 51 |
| Date: Wed, 21 May 2014 11:24:00 GMT |
| Connection: close |
| |
| "Requested keys [13,4,5] not exist in region [orders]" |
| ``` |
| |
| ## Implementation Notes |
| |
| The response body sets the region name as key to the array of values. For example "orders" : <VALUE\_ARRAY>. |