webapp2 - 同时服务于网站和Android应用程序

时间:2018-05-23 02:41:10

标签: android python rest google-app-engine webapp2

我正在使用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 :(得分:2)

错误表示收到的请求是GET,而不是POST,并且您的处理程序没有注册.get()方法。要确认您可以临时向您的处理程序添加.get()方法,您应该能够在其中读取请求消息正文(或者至少您会因其他原因获得不同的错误消息)。< / p>

检查您的Android代码并确保您发送POST请求而不是GET