webapp2 - обслуживает как веб-сайт, так и приложение для Android - PullRequest
0 голосов
/ 23 мая 2018

Я использую python + webapp2 для моего внутреннего кода.Метод POST выглядит как: *

class SendOTP(BookSearchRequestHandler):
    def post(self):

        phone_no = self.request.get('phno').rstrip()
        uuid = self.request.get('uuid').rstrip()
        //some operations

        //construction of JSON
        tpl_values = {
        'books': book1_list,
        'query': search_query,
        'is_logged':is_logged,
        'is_ipsame':is_ipsame
         }

       self.render('serp/products.html', **tpl_values)

. Это очень хорошо работает с моим внешним HTML-кодом.Я могу POST значения, а затем отрисовать другую страницу с содержанием tpl_values.

Однако сейчас я занимаюсь разработкой приложения для Android.Приложение для Android ожидает отправки и получения данных в формате JSON.Код self.request.get() не может прочитать значения, отправленные POSTMAN POST.Я получаю метод 405 не допускается, метод GET Not Allowed.Также self.render нельзя использовать для отправки данных на Android.

<html>
    <head>
        <title>405 Method Not Allowed</title>
    </head>
    <body>
        <h1>405 Method Not Allowed</h1>
  The method GET is not allowed for this resource.
        <br />
        <br />
    </body>
</html>

Как я могу изменить код, чтобы он обслуживал запросы как HTML, так и Android, POSTMAN?Спасибо

1 Ответ

0 голосов
/ 23 мая 2018

Ошибка указывает, что полученный запрос является GET, а не POST, и ваш обработчик не зарегистрировал метод .get().Для подтверждения вы можете временно добавить метод .get() в свой обработчик, в котором вы сможете прочитать тело сообщения запроса (или, по крайней мере, вы получите другое сообщение об ошибке по любой другой причине).

Проверьте свой код Android и убедитесь, что вы отправляете запрос POST вместо GET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...