何时使用.ProtoRPC或REST

 皇家冷情绪 发布于 2023-01-01 21:02

我主要在工作中处理REST json API.所以我熟悉他们.但对于我自己的项目,我正在尝试app引擎,因为我认为它非常合适.

我已经开始在python中编写我的逻辑(使用ferris),并且在阅读更多应用程序引擎时,我遇到了protorpc和云端点.但在我读过的大部分例子中,他们似乎都在做同样的事情,就像在休息api中做的那样.用json发出请求,然后获得json响应.或者是错误.

我看到的主要区别在于,在休息时,端点基于资源.并且围绕它们的HTTP动词,例如GET,POST,PUT,DELETE等.在RPC中,每个请求都有自己的端点,而不是基于资源或模型.

两者都要求,并与json回应.所以我认为我没有看到使用Google端点的好处.他们是否提供其他一些好处?我可以通过端点看到更好的分析跟踪.但是我还不需要使用post http动词来修改内容吗?

如果我使用某些框架,这会改变吗?像django.虽然我目前正在测试Ferris,它有一个处理protorpc的消息传递系统.虽然,我还没能休息.

那我错过了什么?端点有什么好处,只是让我的对象方法处理一个json请求.套接字连接是否适用于此?

1 个回答
  • 您可以通过使用endpointsRESTful API 来完成这两项工作.

    protorpc/ endpoints不会神奇地使您的API RESTful.必须在使用的endpoints框架内使您的API RESTful protorpc.

    使用的好处endpoints是您可以轻松完成大量的身份验证工作(假设您将使用Google帐户),为您完成序列化/反序列化,可以为您生成客户端库,以及更多只支持Javascript客户端.如果这些听起来不错,endpoints可能适合你.如果这些东西不适用,那么可能更直接并自己使用RequestHandler.

    我能够使用简单的API endpoints.它有3个主要资源:记录,数据集和移动.甲Record对象是数据的最小单位.该Dataset对象是一组记录.而Move对象表示的事件Dataset改变位置.我的RESTful URI看起来像这样:

    GET  /records       # Get list of records
    GET  /records/<id>  # Get single record
    POST /records       # Create records
    
    GET  /datasets      # Get list of datasets
    GET  /datasets/<id> # Get single dataset
    POST /datasets      # Create dataset
    
    GET  /moves         # Get list of moves
    GET  /moves/<id>    # Get single move
    POST /moves         # Create move
    

    有了这个,我可以创建数据,组织它并移动它.我能够endpoints在App Engine 的框架内完成这项工作,它是RESTful的.

    2023-01-01 21:05 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有