api-design相关内容

没有结果的 REST 搜索的 HTTP 状态代码

我有一个用于搜索的 REST 端点. GET/person?firstname=john&name=smith 结果是一个带有 HTTP 状态代码 200 OK 的集合被返回: [{“身份证":11,"firstname":"约翰","name":"史密斯","生日":"1996-03-08"},{“身份证":18,"firstname":"约翰","name":"史密斯","生日" ..
发布时间:2021-11-15 21:01:50 其他开发

为什么 unique_ptr 和 shared_ptr 不会使构造它们的指针无效?

注意:这是一个API 设计问题,依赖于unique_ptr 和share_ptr 的构造函数的设计code> 是为了提出问题,但不打算对他们当前的规范提出任何更改. 虽然通常建议使用 make_unique 和 make_shared,但是 unique_ptr 和 shared_ptr 都可以构造来自原始指针. 两者都按值获取指针并复制它.两者都允许(即:不阻止)继续使用在构造函数中 ..
发布时间:2021-11-15 21:01:47 C/C++开发

什么是使用逻辑操作进行查询的 RESTful 方式?

这是使用过滤器查询 假设我的应用程序正在管理称为工作负载的对象,其中包含以下字段.我想公开一个 REST 接口供用户通过标签查询工作负载. "Workload": {"id":"test1", "labels":["A", "B", "C"]}“工作负载":{“id":“test2",“标签":[“A",“C",“D"]}“工作负载":{“id":“test3",“标签":[“A",“B" ..
发布时间:2021-11-15 21:01:44 其他开发

我应该返回关联实体的 id 还是整个实体

好的,假设我们有两个实体:Profile,由 id、名称和~10 个不相关的字段组成,以及 Post,包括text、title 和 author(个人资料).此外,还有资源 /feed 返回包含来自不同个人资料的帖子的提要. 所以我有两个选择: 在作者中发送完整的个人资料实体 发送作者的 id(有一种方法可以单独请求个人资料) 哪种方式更快(就在前端使用而言)和更方便(REST ..
发布时间:2021-11-15 21:01:39 其他开发

命名返回流的 java 方法

是否有返回 Stream 的方法的命名约定?我发现的唯一提及是这个 关于 SO 的答案(最后一段),但我不明白它基于什么. 解决方案 自从我写了那一段,我就觉得有必要回答一下.:-) 假设您有一个表示单一类型事物聚合的类,并且您希望将它们的 Stream 返回给调用者. 如果您返回的内容完全明确,您不妨调用方法 stream().JDK 中有很多名为 stream() 的方法返 ..
发布时间:2021-11-15 21:01:32 Java开发

覆盖 ToString() 以进行调试和记录 - 字符串应该本地化吗?

我正在设计一个 .NET 库,其他开发人员将使用该库来制作 Web 和桌面应用程序.我在各种类中覆盖 ToString() 以提供用于调试目的和包含在应用程序日志文件中的信息. 我的一些课程包含数字和日期. 考虑一个对象,它包含一个名为 date 的 DateTime 和一个名为 value 的 double(可能还有其他字段)以及)...如果我覆盖该对象的 ToString(),我可 ..
发布时间:2021-11-15 21:01:29 C#/.NET

在 C 的公共 API 函数中使用枚举参数是个好主意吗?

我正在设计一个 C API,它必须提供一种方法来设置一些双值选项.为了识别选项,我使用以下枚举: typedef 枚举{选项A,选项B,...} 选项; 在公共 API 函数中使用 Option 作为参数类型是否一个好主意: int set_option(Option opt, double value); 或者用 int 代替更好: int set_option(int opt, do ..
发布时间:2021-11-15 21:01:26 其他开发

为什么 JavaMail Transport.send() 是一个静态方法?

我正在修改不是我编写的使用 JavaMail 的代码,并且在理解 JavaMail API 的设计方式时遇到了一些麻烦.我有一种感觉,如果我理解了,我可以做得更好. 我们称: transport = session.getTransport("smtp");传输连接(主机名,端口,用户,密码); 那么为什么 Eclipse 会警告我: transport.send(message, m ..
发布时间:2021-11-15 21:01:23 Java开发

命名以可预测顺序存储键的字典结构?

注意:虽然我的特定上下文是 Objective-C,但我的问题实际上超越了编程语言的选择.此外,我将其标记为“主观",因为否则肯定会有人抱怨,但我个人认为这几乎完全是客观的.另外,我知道这个相关的SO问题,但因为这是一个更大的问题,我认为最好把它作为一个单独的问题.请不要在没有完全阅读和理解问题的情况下批评问题.谢谢! 我们大多数人都熟悉字典 抽象数据类型 存储键值关联,根据我们选择的语言, ..

.NET API 中的字符串或 URI?

我正在为 Netflix API 编写一个 .NET 包装器 API. 此时我可以选择将 URL 表示为字符串或 URI 对象.在我看来,两者都有很好的案例. 因此,如果您使用 API,您更喜欢哪个? 解决方案 以下引用来自:框架设计指南 我强烈向任何在 .Net 上开发框架的人推荐这本书 务必使用 System.Uri 来表示 URI/URL 数据. (对于参数,属 ..
发布时间:2021-11-15 21:01:17 C#/.NET

各种 TensorFlow 数据加载习惯用法适用于哪些场景?

我有一个 TensorFlow 深度学习工作流程,其中我有一个使用常规 NumPy 构建的相当简单的数据读取和馈送管道;但我看到 TensorFlow 提供了大量用于加载数据和构建数据管道的函数.我想知道这些目标是什么场景.好像有两个: 涉及非常大的现实世界数据集的学习,以及 使用高级TensorFlow API构建的网络. 似乎使用“阅读"而不是“喂食"的好处(例如像 tf.tra ..
发布时间:2021-11-15 21:01:11 Python

如何处理在 REST API 中引入新的对象属性

我有一个公共 REST API,在所有公开的资源中,公开了这些: POST my/webservice/foos/PUT my/webservice/foos/{fooId} 这两种资源都使用如下的 JSON 模型: {"a": "强制字符串","b": "另一个强制字符串"} 因此,每次用户创建新的 Foo 或更新现有的 Foo 时,他都必须指定新的 a 和新的 b.到目前为止,一切都很 ..
发布时间:2021-11-15 21:01:08 其他开发

如何处理 RESTful API 中的敏感属性(例如密码、信用卡等)

致力于支持多种超媒体类型和身份验证的 REST 框架.我不确定如何处理的一件事是资源中的敏感值.例如,如果我要在 API 中包含用户管理,我需要一种向客户端公开密码字段的方法,但不显示实际的密码哈希.信用卡也是一样.如果我不这样做,它将违反超媒体约束,因为该领域的知识将变得带外,并使我的 HATEOAS 损坏. 这是我遇到的一个实际用例: 该项目是一个展示他们的人员目录,以便其他人可以 ..
发布时间:2021-11-15 21:01:05 其他开发

如何管理 REST API 中 3 个资源之间的关系

我正在创建一个基于 REST 概念的 API,但在谈论相关资源时我仍然有些困惑. 我有一个网站,人们可以在其中注册多个群组并选择多个角色.例如,让我们以在公司注册的人作为场景: 公司 脸书 谷歌 苹果 角色 营销 销售 开发 客户支持 因此,当我想在具有某些角色的新公司中创建用户时,我会将类似的内容传递到/users 端点的 POST 请求中 {"用 ..
发布时间:2021-11-15 21:01:02 其他开发

用于过滤条件的查询字符串与资源路径

背景 我有 2 个资源:courses 和 professors. course 具有以下属性: id 主题 semester_id 年 部分 教授_id professor 具有以下属性: id 教师 超级用户 名字 姓氏 所以,你可以说一门课程有一个教授,而一个教授可能有很多门课程. 如果我想获取所有课程或所有教授,我可以分别:GET ..
发布时间:2021-11-15 21:00:59 其他开发

如何为导出端点设计 REST API?

我正在设计 REST API,但遇到了设计问题.我有 alerts,我希望用户能够export 到少数文件格式之一.所以我们已经开始使用 export 来处理动作/命令,这感觉就像 RPC 而不是 REST. 此外,我不想假设默认文件格式.相反,我想要求提供它.我不知道如何设计 API 来做到这一点,我也不知道如果没有提供所需的参数,我也不知道返回什么响应代码. 这是我第一次尝试: ..
发布时间:2021-11-15 21:00:56 其他开发

什么 HTTP 响应代码用于失败的 POST 请求?

当 POST 请求不成功并且请求正文格式正确时,应该返回什么 HTTP 响应代码? 对于成功的 POST 请求,我使用 201 - Created,但没有等效的未创建代码. 我在想 400 - 错误的请求,但这实际上会向用户指出请求格式错误或 304 - 未修改. 解决方案 当 POST 请求不成功并且请求正文格式正确时,应该返回什么 HTTP 响应代码? 如果您的意 ..
发布时间:2021-11-15 21:00:53 其他开发

链接到 REST API 中的另一个资源:通过其 ID 还是通过其 URL?

我正在使用 apiary 创建一些 API,所以使用的语言是 JSON. 假设我需要代表这个资源: {“身份证":9,“名称":“测试",“customer_id":12,“用户 ID":1,“store_id":3,"notes" : "Lorem ipsum 示例长文本"} 通过 ID(12、1、3)引用其他资源是否正确,或者我应该指定这些资源(即/customers/12、/use ..
发布时间:2021-11-15 21:00:50 其他开发