您好,我正在尝试用 restful API 替换 php-java-bridge
,在较旧的应用程序中,EJB 由 PHP 使用 php-java-bridge
使用此桥接机制访问我能够将复杂的对象从 PHP
发送到 Java
。
现在我们已经用 Restful API 代替了桥,我们必须发送每个单独的参数。
假设我有一个 User
类,包含 id
、name
和 favouriteLinks
favrouteLinks
是 Link
类型的数组,由 title
和 url
组成。
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/