Как отправить данные post запросом из мобильного приложения на сайт?

Пишу api для мобильного приложения, чтобы могло общаться с сайтом. С get запросами всё более-менее понятно, но вот c post запросами возникает трудность. post запрос предполагает отправку csrf маркера, всё это работает ok, если запрос идёт с веб-сайта. 

Но что делать, когда запрос нужно выполнить из мобильного приложения.

Например, для изменения количества конкретного товара в корзине, выполняется ajax post запрос на ваш_сайт.домен/cart/save/  с телом { html: 1, id: id товара(число),  quantity: желаемое количество товара(число)}. Этот запрос обрабатывает контроллер, который находится в /wa-apps/shop/lib/actions/frontend/shopFrontendCartSave.controller.php

Как мне использовать это всё в мобильном приложении? Как мне использовать все эти точки типа, /cart/save/, /cart/delete/, /cart/add/?

Мне что нужно писать свои точки типа, shop.myPlugin.saveshop.myPlugin.delete, shop.myPlugin.add и для их обработки тупо копировать код контроллеров из  shopFrontendCartSave.controller.phpshopFrontendCartDelete.controller.phpshopFrontendCartAdd.controller.php?

3 ответа

  • 1
    devellopah 3 июля 2019 02:52 #

    Почему в файле shopFrontendCartSave.controller.php  переменная $order не объявлена(редактор жалуется)?

    • +1
      Алексей Алексей Webasyst 3 июля 2019 10:31 #

      Плохой редактор видимо. $order передаётся по ссылке и в дальнейшем наполняется.

  • 1
    Алексей Webasyst 3 июля 2019 10:32 #

    Вы можете создать свою отдельную точку обращения и отправлять всё запросу на неё, чтобы обрабатывать внутри.

    • +1
      devellopah devellopah 3 июля 2019 15:45 #

      Я знаю,  что у меня есть возможность создавать точки. Разве в моём вопросе были сомнения по этому поводу? 

    • +1
      devellopah devellopah 3 июля 2019 15:55 #

      Если заново писать точки,  то нужно будет дублировать много кода из контроллеров,  это не лучшее решение. Вместо этого,  я бы хотел иметь возможность из мобильного приложения делать запросы на /cart/save/ например и передавать тело запроса, то есть делать так же как сайт. Таким образом,  придёт ли запрос с сайта или с мобильного приложения неважно:обрабатывать его будет один и тот же контроллер. 

      Можно ли такого добиться? 

      Как быть с csrf маркером, если речь о запросе из моб. приложения? 

  • 1
    devellopah 3 июля 2019 17:49 #

    Нужно ли вообще заботиться о csrf, когда речь о мобильном приложении. То есть если я пишу плагин апи для мобильного приложения, нужно ли мне в пост запросе передавать csrf маркер? 

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите