gpt4 book ai didi

api - 何时使用。 ProtoRPC 或 REST

转载 作者:太空宇宙 更新时间:2023-11-03 15:32:49 27 4
gpt4 key购买 nike

我在工作中主要处理 REST json API。所以我对他们很熟悉。但是对于我自己的项目,我正在试用 App Engine,因为我认为它非常适合。

我已经开始用 python(使用 ferris)编写我的逻辑,并且在阅读更多关于应用引擎的内容时,我遇到了 protorpc 和云端点。但是在我读过的大多数示例中,它们似乎都在做与我在 rest api 中所做的相同的事情。使用 json 发出请求,并返回 json 响应。或者错误。

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

两者都是用 json 请求和响应的。所以我认为我没有看到使用 Google 端点的好处。他们是否提供其他类型的福利?我也许可以看到更好的端点分析跟踪。但是我是否仍然需要使用 post http 动词来修改内容?

如果我使用某些框架,这些会有所改变吗?像 Django 。虽然我目前正在测试 Ferris,它有一个处理 protorpc 的消息系统。虽然,我还没来得及休息。

那我错过了什么?与仅使我的对象方法处理 json 请求相比,端点有什么好处。套接字连接对此有影响吗?

最佳答案

您可以通过使用 endpoints 来制作 RESTful API 来实现这两个目标。

protorpc/endpoints 不会神奇地让您的 API 变成 RESTful。 必须在使用protorpcendpoints 框架内使您的API RESTful。

使用 endpoints 的好处是你可以轻松完成很多身份验证工作(假设你要使用 Google 帐户),序列化/反序列化是为你完成的,你的可以为您生成客户端库,并且不仅可以支持 Javascript 客户端。如果这些听起来不错,endpoints 可能适合您。如果这些事情不适用,那么可能更直接并自己使用 RequestHandlers。

我能够使用 endpoints 制作一个简单的 API。它有 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

有了它,我可以创建数据、组织数据并四处移动。我能够在 App Engine 上的 endpoints 框架内完全做到这一点,它是 RESTful。

关于api - 何时使用。 ProtoRPC 或 REST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24861108/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com