- j'ai un module (nom "Sendree") en place sur mon Thelia, qui fonctionne déjà depuis plusieurs mois, qui fait du front et de l'admin.
- d'un autre côté, j'ai développé un début de client qui se connecte au thelia via l'api, et récupère correctement les categories de produits par exemple.
Maintenant, je souhaite rajouter des routes à l'API, connectée au module en question, pour récupérer certaines données spécifiques.
La bottom line c'est que ma requête client reçoit toujours une réponse 404, je n'arrive pas à joindre le controller.
Ce que j'ai fait :
--------------------------------------------
1. lu la documentation http://doc.thelia.net/en/documentation/ … oller.html
--------------------------------------------
2. rajouté une route dans le routing.xml du module :
<?xml version="1.0" encoding="UTF-8" ?>
<routes xmlns="http://symfony.com/schema/routing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
<!-- api controller -->
<route id="Sendree.api.showroom.get" path="/api/sendree/showroom" methods="get">
<default key="_controller">Sendree:Sendree\Controller\Api\SendreeApiController:getshowroom</default>
</route>
<!--admin controller-->
[... mes autres routes existantes ...]
--------------------------------------------
3. rajouté le fichier controller associé :
local/modules/Sendree/Controller/Api/SendreeApiController.php
--------------------------------------------
4. implémenté le début du controller en suivant la doc :
<?php
namespace Sendree\Controller\Api;
use Thelia\Controller\Api\BaseApiController;
use Thelia\Log\Tlog;
class SendreeApiController extends BaseApiController {
public function getshowroomAction() {
Tlog::getInstance()->debug("showroom api");
$results = array("message" => "ok");
return JsonResponse::create($results);
}
}
---------------------------------------------
Mais donc, je n'arrive pas à joindre le controller, je reçois toujours une réponse 404. J'ai tenté plusieurs modifs pour voir, le chemin du controller dans le fichier de routing par exemple, ou encore la convention de nom des méthodes du controller (me suis demandé sur le "Action" à la fin du nom de la méthode avait une signification particulière....).
Est-ce qu'il y aurait un truc évident que j'aurais raté dans l'histoire ?
Merci,
loïc b.