Ho bisogno REST API per creare cliente in magnete per questo ho seguito questo tutorial http://www.authenticdesign.co.uk/extending-magento-rest-api-v2/personalizzato API REST in Magento
ho seguito passo dopo passo, ma quando ho testare l'API sul cliente resto mi dà: {"messages":{"error":[{"code":404,"message":"Request does not match any route."}]}}
Non ho idea di dove sto sbagliando. Aiutami qui come sono molto nuovo a Magento, nonché per PHP.
I passi sono:
1. Estensione Abilitato al (/ etc/modulo app/Custom_Restapi.xml)
<config>
<modules>
<Custom_Restapi>
<active>true</active>
<codePool>local</codePool>
</Custom_Restapi_Groups>
</modules>
</config>
2. config.xml a (app/code/local /Custom/Restapi/etc/config.xml)
<?xml version="1.0"?>
<config>
<modules>
<Custom_Restapi>
<version>0.1.0.0</version>
</Custom_Restapi>
</modules>
<global>
<models>
<restapi>
<class>Custom_Restapi_Model</class>
</restapi>
</models>
</global>
</config>
3. api2.xml a (app/code/local/Custom/RestAPI/etc/api2.xml)
<?xml version="1.0"?>
<config>
<api2>
<resource_groups>
<restapi translate="title" module="Custom_Restapi">
<title>Custom Rest API</title>
<sort_order>10</sort_order>
</restapi>
</resource_groups>
<resources>
<restapi translate="title" module="Custom_Restapi">
<group>restapi</group>
<model>restapi/api2_restapi</model>
<title>Testing My Rest API</title>
<sort_order>10</sort_order>
<privileges>
<admin>
<create>1</create>
</admin>
</privileges>
<attributes translate="" module="Custom_Restapi">
<firstname>First Name</firstname>
<lastname>Last Name</lastname>
<email>Email</email>
<password>Password</password>
</attributes>
<routes>
<route>
<route>/customer</route>
<action_type>collection</action_type>
</route>
</routes>
<versions>1</versions>
</restapi>
</resources>
</api2>
</config>
4. Modello Classe Restapi.php a (app/code/local/custom/RestAPI/Modello/API2/Restapi.php)
<?php
class Custom_Restapi_Model_Api2_Restapi extends Mage_Api2_Model_Resource
{
}
?>
5. V1.php a (app/code/local/personalizzato/RestAPI/Modello/API2/RestAPI/riposo/Admin/V1.php)
<?php
class Custom_Restapi_Model_Api2_Restapi_Rest_Admin_V1 extends Custom_Restapi_Model_Api2_Restapi
{
/**
* Create a customer
* @return array
*/
public function _create() {
$requestData = $this->getRequest()->getBodyParams();
$firstName = $requestData['firstname'];
$lastName = $requestData['lastname'];
$email = $requestData['email'];
$password = $requestData['password'];
$customer = Mage::getModel("customer/customer");
$customer->setFirstname($firstName);
$customer->setLastname($lastName);
$customer->setEmail($email);
$customer->setPasswordHash(md5($password));
$customer->save();
return json_encode(array("testing","Success"));
}
}
?>
E il mio URL è simile a: baseurl/api/rest/customer
scusate variabile globale ho corretto ieri in sé, ma non aggiornato qui ma non sono sempre il tuo 2 ° punto del tutto si può elabrote po 'di più (sì, sto usando URL come questo www.myweb.com/api/rest/customer in post request) Grazie – Spartan
quindi non stai più usando questo URL? E il mio URL è come: apiurl/customer/create –
Per il secondo punto, suggerisco di guardare attraverso la classe Mage_Api2_Model_Router per vedere come effettivamente sceglie il metodo da chiamare nella propria classe del modello. Si basa su un mix del metodo HTTP e del tipo di dati del corpo. Questo è anche il luogo dove viene generata la tua specifica eccezione. –