java - Restful API 将分层/嵌套数据发布到 Web 服务

标签 java php web-services rest php-java-bridge

您好,我正在尝试用 restful API 替换 php-java-bridge,在较旧的应用程序中,EJB 由 PHP 使用 php-java-bridge 使用此桥接机制访问我能够将复杂的对象从 PHP 发送到 Java

现在我们已经用 Restful API 代替了桥,我们必须发送每个单独的参数。

假设我有一个 User 类,包含 idnamefavouriteLinks

favrouteLinksLink 类型的数组,由 titleurl 组成。

class User {
        Integer id;
        String name;
        Link[] favouriteLinks;

}
class Link {
        String title;
        String url;
}

假设 API 试图用多个最喜欢的链接详细信息来保存用户。现在您已经注意到这是一个需要传递的嵌套/分层信息。实现这一目标的正确方法是什么?

api.something.com/1/user?id=101&name=Jon&favourite????

如果我有一组拥有一组 Collection 链接的用户怎么办????

请分享您的专业想法。

最佳答案

Let say API is trying to save a user with multiple favourite links detail.

如果您需要 RESTful API,请不要尝试通过 GET 请求修改数据。 使用 POST 或 PUT 保存您喜欢的链接(更多相关信息:PUT vs POST)。

我也不太明白你是如何设计你的 URI 的:

api.something.com/1/user?id=101&name=Jon&favourite????

1是API的版本号吗?那么好吧,但是目标资源(这里是用户)的 id 绝对不应该是查询参数的一部分。 像这样的东西怎么样:

api.something.com/1/users/101

指定一个用户资源 ?然后您可以 POST 或 PUT 到此资源以更新您想要的任何内容,例如它最喜欢的链接。

关于java - Restful API 将分层/嵌套数据发布到 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25241019/

相关文章:

java - 如何计算服务帐户的 OAuth 签名?

java - java中selenium rc驱动程序的代理

php - 使用php从mysql数据库中获取Json

html - Gmail 标记为带有 h​​tml 和 anchor 链接的垃圾邮件

php - Composer 包的 Git 工作流程?

java - 使用 PHP 脚本在免费虚拟主机上创建 Web 服务

java - 删除 Cloud Firestore 数据库中的集合时建议使用哪些参数?

PHP:如何删除用户而不删除 'authenticate'函数

web-services - cURL + HTTP 和 RESTful Web 服务有什么区别?

java - 用递归找到零点