热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

仅使用GoogleAppEngine,webapp2和Python创建API?

如何解决《仅使用GoogleAppEngine,webapp2和Python创建API?》经验,为你挑选了1个好方法。

是否可以在Google App Engine上仅使用webapp2和Python创建API?

例如,让我的路由/post/123由此RequestHandler处理:

class ShowPosts(webapp2.RequestHandler):
    def get(self):
        posts = Post.query().fetch()
        # return the post as data (JSON) here as response 

当客户端发出一个restful请求时/post/123,可以返回数据对象(而不是呈现的html页面).

这是可能的还是推荐的?



1> GAEfan..:

您可以从查询中构建python列表或dict对象,然后将其作为JSON对象发送,并将其作为响应发送.尝试这样的事情:

import json

posts     = Post.query()
post_json = []

for post in posts:
    post_dict = {
        'name' : post.name,
        'city' : post.city,
        'state': post.state
    }
    post_json.append( post_dict )

return json.dumps(post_json)

更新: OP询问POST方法的示例:

import json

class ShowPosts(webapp2.RequestHandler):
    def get(self):
        posts = Post.query()
        post_json   = []

        for post in posts:
            post_dict = {
                'name' : post.name,
                'city' : post.city,
                'state': post.state
            }

            post_json.append( post_dict )

        return json.dumps(post_json) 

    def post(self):
        posts = Post.query()
        post_json   = []

        for post in posts:
            post_dict = {
                'name' : post.name,
                'city' : post.city,
                'state': post.state
            }

            post_json.append( post_dict )

        post_json.append(
            {
                'posted_name': self.request.get('name'),
                'posted_msg': self.request.get('msg')
            }
        )
        return json.dumps(post_json) 


推荐阅读
author-avatar
缘无音iy
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有