Je n'obtiens pas de résultat (id) lorsque j'utilise la méthode POST en utilisant l'url est reste / V1 / bonjour / test / 3
J'ai suivi ce lien Pour référence, veuillez cliquer ici
1) webapi.xml
<?xml version="1.0"?>
<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Webapi:etc/webapi.xsd">
<route url="/V1/hello/name/:name" method="GET">
<service class="Inchoo\Hello\Api\HelloInterface" method="name"/>
<resources>
<resource ref="anonymous"/>
</resources>
</route>
<route url="/V1/hello/test/:test" method="POST">
<service class="Inchoo\Hello\Api\TestInterface" method="test"/>
<resources>
<resource ref="anonymous"/>
</resources>
</route>
</routes>
2) TestInterface.php
<?php
namespace Inchoo\Hello\Api;
interface TestInterface
{
/**
* Returns greeting message to user
*
* @api
* @param id $name Users id.
* @return id Greeting message with users id.
*/
public function test($id);
}
3) Test.php
<?php
namespace Inchoo\Hello\Model;
use Inchoo\Hello\Api\TestInterface;
class Test implements TestInterface
{
/**
* Returns greeting message to user
*
* @api
* @param string $name Users name.
* @return string Greeting message with users name.
*/
public function test($id) {
return "Hello How are you your id is:," .$id;
}
}
4) di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Inchoo\Hello\Api\HelloInterface" type="Inchoo\Hello\Model\Hello" />
<preference for="Inchoo\Hello\Api\TestInterface" type="Inchoo\Hello\Model\Test" />
</config>
Maintenant, j'ai effacé le cache et la pagecache et ouvert l'application des facteurs et conservé l'URL comme http://10.0.0.33/nagarajuM2/rest/V1/hello/test/3
mais je reçois une erreur.
Sil te plait aide moi.
Réponses:
Vous envoyez une demande POST, vous devez donc également envoyer des données dans une demande POST au format json comme:
{ "id": {}}
Et doivent définir
Content-Type:application/json
dans l'en-tête http.la source
Mettez à jour les commentaires de fonction correctement pour le fichier d'interface et la classe qui l'implémentent.
la source
Je recevais les mêmes problèmes, puis j'ai remarqué que j'utilisais POST au lieu de GET , en le modifiant, les problèmes étaient résolus.
la source