Jump to content

[SOLVED] Symfony accéder à un controller par méthode http extérieur génère une erreur This page has moved


jikail

Recommended Posts

Bonjour à tous,

Je voudrais faire une api json en passant par un controller dans un module.

J'ai donc installé ce projet pour tester https://github.com/friends-of-presta/demo-cqrs-hooks-usage-module qui fonctionne parfaitement, par contre je ne comprend pas pourquoi quand j'appelle le controller par http par méthode post

http://127.0.0.1/admin-dev/modules/demo-cqrs-hook-usage/22/toggle-is-allowed-for-review

J'ai un

[Debug] This page has moved
Please use the following URL instead: http://auer-eshop.dev.avr/index.php?uri=http%253A%252F%252Fauer-eshop.dev.avr%252Fadmin-dev%252Fmodules%252Fdemo-cqrs-hook-usage%252F22%252Ftoggle-is-allowed-for-review&_token=3M2Y1gYFjzwxEzxpST6B-E38zfWa9yqH_wGZWFjoYbo

Alors que je devrais avoir le retour du controller que j'ai modifié avec un exit

Pourtant je sais que la route est bien mappé puisque si je fais dans le routes.yml je change POST en GET

ps_democqrshooksusage_toggle_is_allowed_for_review:
  path: demo-cqrs-hook-usage/{customerId}/toggle-is-allowed-for-review
  methods: [GET]
  defaults:
    _controller: 'DemoCQRSHooksUsage\Controller\Admin\CustomerReviewController::toggleIsAllowedForReviewAction'
  requirements:
    customerId: \d+

J'ai bien  MethodNotAllowedHttpException.

Du coup impossible d'accéder aux routes depuis l'extérieur, je fais mal quelque chose?

Merci

Edited by jikail (see edit history)
Link to comment
Share on other sites

Enlevez le mode debug^^

            if (defined('_PS_MODE_DEV_') && _PS_MODE_DEV_ && $_SERVER['REQUEST_URI'] != __PS_BASE_URI__) {
                die('[Debug] This page has moved<br />Please use the following URL instead: <a href="'.$final_url.'">'.$final_url.'</a>');
            }

 

  • Thanks 1
Link to comment
Share on other sites

Merci pour votre réponse :)

J'ai désactivé le mode debug je n'ai plus l'erreur mais une redirection vers la page d'accueil, dans le controller j'ai

    /**
     * Catches the toggle action of customer review.
     *
     * @param int $customerId
     *
     * @return RedirectResponse
     */
    public function toggleIsAllowedForReviewAction($customerId)
    {

        return new JsonResponse([], 404);
    }

Cela devrait donc me retourner une 404 avec un json vide mais à la place j'ai la page d'accueil

 

image.png.147839ce56e44c03881484109423387d.png

Je passe par Postman peut-être que l'url est accessible que depuis prestashop et pas depuis un client http? Je suis obligé de passer par le webservice?

Auriez vous une idée?

 

Edit

Finalement je vais passer par un webservice, je pense que le soucis était l'authentification et que le controller doit-être call depuis prestashop et pas comme un webservice dommage.

Merci

image.png

Edited by jikail (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...