gpt4 book ai didi

android - 使用 REST 发送和接收复杂数据

转载 作者:行者123 更新时间:2023-11-30 04:00:15 26 4
gpt4 key购买 nike

我的客户端是一个 Android 应用程序,我的服务是一个 asp.net web api。我是唯一使用我的服务的人。我试图在 Android-REST 世界中复制我已经在 Microsoft Windows Phone 7/WCF SOAP 世界中做的事情。我有许多方法可以接收复杂对象并返回复杂对象。

WCF-SOAP 世界很简单。您可以传递任何您想要的复杂参数并返回您想要的任何复杂结果。从逻辑上讲,这只是一个远程过程调用。

但是当我发布关于在 REST 中做同样事情的问题时,有人告诉我应该将我的服务限制为仅 GET、PUT、POST 和 DELETE。根据 RFC2616,我应该只做“正确”的事情。有些人几乎以一种宗教的方式谈到了这一点。

忘记宗教,对所有内容使用 GET 有什么问题?或者对所有内容都使用 POST 有什么问题?我所做的不属于简单化的 RFC2616 类别。例如,我正在通过汽车旅行的一千条路段,而我正在返回该旅行的另一个版本,消除了不稳定的 GPS 错误。或者,我用英语发送一段对话,然后用德语发回对话。

在 android 客户端中,我想要通过 HTTP 发送的对象已经使用 Google-GSON 序列化为 json 字符串。所以我的问题是……

如何将这些 json 字符串作为 GET 或 POST 中的参数发送到我的 REST 服务?

我对 REST 服务的所有调用都只使用所有 GET(或所有 POST)是否可能且可行?我该怎么做?

我在 sending a json string in a http url 上发布了一个关于此的更实用的问题因为我在任何地方都找不到通过 http GET 或 POST 发送 json 字符串的示例。

谢谢,加里

最佳答案

使用良好的 HTTP 动词非常有用,可以简单地知道当您请求失败时(例如)该怎么做,或者只是做一些特定的事情。如果您发送了 POST 请求,则隐含地假设您必须解析您的资源以获得通过请求正文发送的流。另一方面,当您通过 GET 检索数据时,假设请求将作为流发送回您,您将映射到您的模型、pojo 或其他任何东西。

我可以建议您使用诸如 RESTDroid 之类的库.您可以发送 POJO 和接收 POJO。它是一个“面向资源”的库,因此您可以随时了解某个特定的本地资源是否已远程同步。自动处理本地和远程之间的数据持久化。

RESTDroid 是 alpha 版本。你可以看看RoboSpice .它是一个用于管理 REST 调用的强大库,但由您来管理本地和远程资源之间的持久性。

关于android - 使用 REST 发送和接收复杂数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610269/

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