From 20ffc3f1b1655ced9f21de275749a6762c889fe5 Mon Sep 17 00:00:00 2001
From: Cyrill Schumacher <cyrill@schumacher.fm>
Date: Wed, 7 Jan 2015 21:13:07 +1100
Subject: [PATCH] GET: Unifying REST API searches with the interface method
 getList() and http method PUT.  Deleted POST routes and merged them to a GET
 route to be more consistent.  Fixes #889

---
 app/code/Magento/Catalog/etc/webapi.xml  | 10 +++++-----
 app/code/Magento/Customer/etc/webapi.xml | 12 ------------
 app/code/Magento/Eav/etc/webapi.xml      |  2 +-
 app/code/Magento/Sales/etc/webapi.xml    | 10 +++++-----
 app/code/Magento/Tax/etc/webapi.xml      |  6 +++---
 5 files changed, 14 insertions(+), 26 deletions(-)

diff --git a/app/code/Magento/Catalog/etc/webapi.xml b/app/code/Magento/Catalog/etc/webapi.xml
index 0e1db6cae06f8..a730cfa3d0da1 100644
--- a/app/code/Magento/Catalog/etc/webapi.xml
+++ b/app/code/Magento/Catalog/etc/webapi.xml
@@ -26,7 +26,7 @@
             <resource ref="Magento_Catalog::products" />
         </resources>
     </route>
-    <route url="/V1/products" method="PUT">
+    <route url="/V1/products" method="GET">
         <service class="Magento\Catalog\Api\ProductRepositoryInterface" method="getList"/>
         <resources>
             <resource ref="Magento_Catalog::products" />
@@ -51,7 +51,7 @@
             <resource ref="Magento_Catalog::attributes_attributes" />
         </resources>
     </route>
-    <route url="/V1/products/attributes" method="PUT">
+    <route url="/V1/products/attributes" method="GET">
         <service class="Magento\Catalog\Api\ProductAttributeRepositoryInterface" method="getList" />
         <resources>
             <resource ref="Magento_Catalog::attributes_attributes" />
@@ -63,7 +63,7 @@
             <resource ref="Magento_Catalog::attributes_attributes" />
         </resources>
     </route>
-    <route url="/V1/categories/attributes" method="PUT">
+    <route url="/V1/categories/attributes" method="GET">
         <service class="Magento\Catalog\Api\CategoryAttributeRepositoryInterface" method="getList" />
         <resources>
             <resource ref="Magento_Catalog::attributes_attributes" />
@@ -99,7 +99,7 @@
             <resource ref="Magento_Catalog::products"/>
         </resources>
     </route>
-    <route url="/V1/products/attribute-sets/sets/list" method="PUT">
+    <route url="/V1/products/attribute-sets/sets/list" method="GET">
         <service class="Magento\Catalog\Api\AttributeSetRepositoryInterface" method="getList"/>
         <resources>
             <resource ref="Magento_Catalog::sets"/>
@@ -147,7 +147,7 @@
             <resource ref="Magento_Catalog::sets"/>
         </resources>
     </route>
-    <route url="/V1/products/attribute-sets/groups/list" method="PUT">
+    <route url="/V1/products/attribute-sets/groups/list" method="GET">
         <service class="Magento\Catalog\Api\ProductAttributeGroupRepositoryInterface" method="getList"/>
         <resources>
             <resource ref="Magento_Catalog::sets"/>
diff --git a/app/code/Magento/Customer/etc/webapi.xml b/app/code/Magento/Customer/etc/webapi.xml
index df2d11cb16d9f..c9555a3f4e56d 100644
--- a/app/code/Magento/Customer/etc/webapi.xml
+++ b/app/code/Magento/Customer/etc/webapi.xml
@@ -31,12 +31,6 @@
             <resource ref="Magento_Customer::group"/>
         </resources>
     </route>
-    <route url="/V1/customerGroups/search" method="POST">
-        <service class="Magento\Customer\Api\GroupRepositoryInterface" method="getList"/>
-        <resources>
-            <resource ref="Magento_Customer::group"/>
-        </resources>
-    </route>
     <route url="/V1/customerGroups/search" method="GET">
         <service class="Magento\Customer\Api\GroupRepositoryInterface" method="getList"/>
         <resources>
@@ -160,12 +154,6 @@
             <parameter name="customerId" force="true">%customer_id%</parameter>
         </data>
     </route>
-    <route url="/V1/customers/search" method="POST">
-        <service class="Magento\Customer\Api\CustomerRepositoryInterface" method="getList"/>
-        <resources>
-            <resource ref="Magento_Customer::customer"/>
-        </resources>
-    </route>
     <route url="/V1/customers/search" method="GET">
         <service class="Magento\Customer\Api\CustomerRepositoryInterface" method="getList"/>
         <resources>
diff --git a/app/code/Magento/Eav/etc/webapi.xml b/app/code/Magento/Eav/etc/webapi.xml
index ed978811b7d4a..c914510d920f6 100644
--- a/app/code/Magento/Eav/etc/webapi.xml
+++ b/app/code/Magento/Eav/etc/webapi.xml
@@ -6,7 +6,7 @@
 -->
 <routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="../../../../../app/code/Magento/Webapi/etc/webapi.xsd">
-    <route url="/V1/eav/attribute-sets/list" method="PUT">
+    <route url="/V1/eav/attribute-sets/list" method="GET">
         <service class="Magento\Eav\Api\AttributeSetRepositoryInterface" method="getList"/>
         <resources>
             <resource ref="Magento_Catalog::sets"/>
diff --git a/app/code/Magento/Sales/etc/webapi.xml b/app/code/Magento/Sales/etc/webapi.xml
index cd0a72aa3b863..d1951c9142b58 100644
--- a/app/code/Magento/Sales/etc/webapi.xml
+++ b/app/code/Magento/Sales/etc/webapi.xml
@@ -12,7 +12,7 @@
             <resource ref="Magento_Sales::sales" />
         </resources>
     </route>
-    <route url="/V1/orders" method="PUT">
+    <route url="/V1/orders" method="GET">
         <service class="Magento\Sales\Api\OrderRepositoryInterface" method="getList"/>
         <resources>
             <resource ref="Magento_Sales::sales" />
@@ -78,7 +78,7 @@
             <resource ref="Magento_Sales::sales" />
         </resources>
     </route>
-    <route url="/V1/invoices" method="PUT">
+    <route url="/V1/invoices" method="GET">
         <service class="Magento\Sales\Api\InvoiceRepositoryInterface" method="getList"/>
         <resources>
             <resource ref="Magento_Sales::sales" />
@@ -126,7 +126,7 @@
             <resource ref="Magento_Sales::sales" />
         </resources>
     </route>
-    <route url="/V1/creditmemos" method="PUT">
+    <route url="/V1/creditmemos" method="GET">
         <service class="Magento\Sales\Api\CreditmemoRepositoryInterface" method="getList"/>
         <resources>
             <resource ref="Magento_Sales::sales" />
@@ -168,7 +168,7 @@
             <resource ref="Magento_Sales::sales" />
         </resources>
     </route>
-    <route url="/V1/shipments" method="PUT">
+    <route url="/V1/shipments" method="GET">
         <service class="Magento\Sales\Api\ShipmentRepositoryInterface" method="getList"/>
         <resources>
             <resource ref="Magento_Sales::sales" />
@@ -228,7 +228,7 @@
             <resource ref="Magento_Sales::sales" />
         </resources>
     </route>
-    <route url="/V1/transactions" method="PUT">
+    <route url="/V1/transactions" method="GET">
         <service class="Magento\Sales\Api\TransactionRepositoryInterface" method="getList"/>
         <resources>
             <resource ref="Magento_Sales::sales" />
diff --git a/app/code/Magento/Tax/etc/webapi.xml b/app/code/Magento/Tax/etc/webapi.xml
index 50f0c4738b75d..68e1e2a394b5f 100644
--- a/app/code/Magento/Tax/etc/webapi.xml
+++ b/app/code/Magento/Tax/etc/webapi.xml
@@ -30,7 +30,7 @@
             <resource ref="Magento_Tax::manage_tax"/>
         </resources>
     </route>
-    <route url="/V1/taxRate/search" method="PUT">
+    <route url="/V1/taxRate/search" method="GET">
         <service class="Magento\Tax\Api\TaxRateRepositoryInterface" method="getList"/>
         <resources>
             <resource ref="Magento_Tax::manage_tax"/>
@@ -60,7 +60,7 @@
             <resource ref="Magento_Tax::manage_tax"/>
         </resources>
     </route>
-    <route url="/V1/taxRules/search" method="PUT">
+    <route url="/V1/taxRules/search" method="GET">
         <service class="Magento\Tax\Api\TaxRuleRepositoryInterface" method="getList"/>
         <resources>
             <resource ref="Magento_Tax::manage_tax"/>
@@ -90,7 +90,7 @@
             <resource ref="Magento_Tax::manage_tax"/>
         </resources>
     </route>
-    <route url="/V1/taxClass/search" method="PUT">
+    <route url="/V1/taxClass/search" method="GET">
         <service class="Magento\Tax\Api\TaxClassRepositoryInterface" method="getList"/>
         <resources>
             <resource ref="Magento_Tax::manage_tax"/>