使用python在app引擎中创建POST服务

时间:2016-05-31 15:14:23

标签: python google-app-engine

我对app engine和python也很新,所以这听起来像是一个非常基本的问题。我想创建一个RESTful服务来处理POST请求(使用Python,app引擎)

例如:

www.myproject.appspot.com - is my URL

如果我对此进行简单的GET调用(来自浏览器或REST客户端等),它会返回代码中的内容,就像这里的> Hello!<

class MainHandler(webapp2.RequestHandler):
def get(self):
    self.response.headers['Content-Type'] = 'text/plain'
    self.response.write("Hello!")

我想要做的是将它作为POST请求,就像我用一些像

这样的JSON命中它
 {"myName" : NameString}

它将在NameString中打印名称。我知道这听起来像是一个非常愚蠢的问题,但请耐心等待我,因为我的互联网搜索让我混淆了使用哪种方法建议使用EndPoints API,Django等。但我相信我的要求非常基本,webapp2可以处理它

我只想要这样的方向或基本的例子来做到这一点。

谢谢!

2 个答案:

答案 0 :(得分:1)

编写一个方法来处理POST方法并设置正确的内容类型:

https://webapp-improved.appspot.com/guide/handlers.html#http-methods-translated-to-class-methods

在你的情况下,它将是:

import json
class MainHandler(webapp2.RequestHandler):
  def post(self):
    name = 'John Snow'
    self.response.headers['Content-Type'] = 'application/json'
    self.response.write(json.dumps({"myName" : name}))

答案 1 :(得分:1)

以下是从请求中获取POST data到响应中的方法:

class MainHandler(webapp2.RequestHandler):
    def post(self):
        name = self.request.POST['myName']
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write("Hello, %s!" % name)