api-design相关内容
我有一个用于搜索的 REST 端点. GET/person?firstname=john&name=smith 结果是一个带有 HTTP 状态代码 200 OK 的集合被返回: [{“身份证":11,"firstname":"约翰","name":"史密斯","生日":"1996-03-08"},{“身份证":18,"firstname":"约翰","name":"史密斯","生日"
..
注意:这是一个API 设计问题,依赖于unique_ptr 和share_ptr 的构造函数的设计code> 是为了提出问题,但不打算对他们当前的规范提出任何更改. 虽然通常建议使用 make_unique 和 make_shared,但是 unique_ptr 和 shared_ptr 都可以构造来自原始指针. 两者都按值获取指针并复制它.两者都允许(即:不阻止)继续使用在构造函数中
..
这是使用过滤器查询 假设我的应用程序正在管理称为工作负载的对象,其中包含以下字段.我想公开一个 REST 接口供用户通过标签查询工作负载. "Workload": {"id":"test1", "labels":["A", "B", "C"]}“工作负载":{“id":“test2",“标签":[“A",“C",“D"]}“工作负载":{“id":“test3",“标签":[“A",“B"
..
我提议更改一个库,其公共 API 目前如下所示: typedef size_t enh;/* 处理 */int en_open(enh *handle){结构内部 *e = malloc(...);*句柄 = (enh)e;返回0;}int en_start(enh 句柄){struct internal *e = (struct internal*)handle;返回 do_something
..
好的,假设我们有两个实体:Profile,由 id、名称和~10 个不相关的字段组成,以及 Post,包括text、title 和 author(个人资料).此外,还有资源 /feed 返回包含来自不同个人资料的帖子的提要. 所以我有两个选择: 在作者中发送完整的个人资料实体 发送作者的 id(有一种方法可以单独请求个人资料) 哪种方式更快(就在前端使用而言)和更方便(REST
..
是否有返回 Stream 的方法的命名约定?我发现的唯一提及是这个 关于 SO 的答案(最后一段),但我不明白它基于什么. 解决方案 自从我写了那一段,我就觉得有必要回答一下.:-) 假设您有一个表示单一类型事物聚合的类,并且您希望将它们的 Stream 返回给调用者. 如果您返回的内容完全明确,您不妨调用方法 stream().JDK 中有很多名为 stream() 的方法返
..
我正在设计一个 .NET 库,其他开发人员将使用该库来制作 Web 和桌面应用程序.我在各种类中覆盖 ToString() 以提供用于调试目的和包含在应用程序日志文件中的信息. 我的一些课程包含数字和日期. 考虑一个对象,它包含一个名为 date 的 DateTime 和一个名为 value 的 double(可能还有其他字段)以及)...如果我覆盖该对象的 ToString(),我可
..
我正在设计一个 C API,它必须提供一种方法来设置一些双值选项.为了识别选项,我使用以下枚举: typedef 枚举{选项A,选项B,...} 选项; 在公共 API 函数中使用 Option 作为参数类型是否一个好主意: int set_option(Option opt, double value); 或者用 int 代替更好: int set_option(int opt, do
..
我正在修改不是我编写的使用 JavaMail 的代码,并且在理解 JavaMail API 的设计方式时遇到了一些麻烦.我有一种感觉,如果我理解了,我可以做得更好. 我们称: transport = session.getTransport("smtp");传输连接(主机名,端口,用户,密码); 那么为什么 Eclipse 会警告我: transport.send(message, m
..
注意:虽然我的特定上下文是 Objective-C,但我的问题实际上超越了编程语言的选择.此外,我将其标记为“主观",因为否则肯定会有人抱怨,但我个人认为这几乎完全是客观的.另外,我知道这个相关的SO问题,但因为这是一个更大的问题,我认为最好把它作为一个单独的问题.请不要在没有完全阅读和理解问题的情况下批评问题.谢谢! 我们大多数人都熟悉字典 抽象数据类型 存储键值关联,根据我们选择的语言,
..
我正在为 Netflix API 编写一个 .NET 包装器 API. 此时我可以选择将 URL 表示为字符串或 URI 对象.在我看来,两者都有很好的案例. 因此,如果您使用 API,您更喜欢哪个? 解决方案 以下引用来自:框架设计指南 我强烈向任何在 .Net 上开发框架的人推荐这本书 务必使用 System.Uri 来表示 URI/URL 数据. (对于参数,属
..
在给定的类 Example 我需要以下两个函数可用: void doSomething(Supplier) void doSomething(Supplier) 实现这一目标的可能性有哪些?我知道以下方法: 给函数起不同的名字 使用包装器类型作为第二个定义 WrapperType.of(Supplier) 使用一个函数将Example转换为Example 还有其他
..
我有一个 TensorFlow 深度学习工作流程,其中我有一个使用常规 NumPy 构建的相当简单的数据读取和馈送管道;但我看到 TensorFlow 提供了大量用于加载数据和构建数据管道的函数.我想知道这些目标是什么场景.好像有两个: 涉及非常大的现实世界数据集的学习,以及 使用高级TensorFlow API构建的网络. 似乎使用“阅读"而不是“喂食"的好处(例如像 tf.tra
..
我有一个公共 REST API,在所有公开的资源中,公开了这些: POST my/webservice/foos/PUT my/webservice/foos/{fooId} 这两种资源都使用如下的 JSON 模型: {"a": "强制字符串","b": "另一个强制字符串"} 因此,每次用户创建新的 Foo 或更新现有的 Foo 时,他都必须指定新的 a 和新的 b.到目前为止,一切都很
..
致力于支持多种超媒体类型和身份验证的 REST 框架.我不确定如何处理的一件事是资源中的敏感值.例如,如果我要在 API 中包含用户管理,我需要一种向客户端公开密码字段的方法,但不显示实际的密码哈希.信用卡也是一样.如果我不这样做,它将违反超媒体约束,因为该领域的知识将变得带外,并使我的 HATEOAS 损坏. 这是我遇到的一个实际用例: 该项目是一个展示他们的人员目录,以便其他人可以
..
我正在创建一个基于 REST 概念的 API,但在谈论相关资源时我仍然有些困惑. 我有一个网站,人们可以在其中注册多个群组并选择多个角色.例如,让我们以在公司注册的人作为场景: 公司 脸书 谷歌 苹果 角色 营销 销售 开发 客户支持 因此,当我想在具有某些角色的新公司中创建用户时,我会将类似的内容传递到/users 端点的 POST 请求中 {"用
..
背景 我有 2 个资源:courses 和 professors. course 具有以下属性: id 主题 semester_id 年 部分 教授_id professor 具有以下属性: id 教师 超级用户 名字 姓氏 所以,你可以说一门课程有一个教授,而一个教授可能有很多门课程. 如果我想获取所有课程或所有教授,我可以分别:GET
..
我正在设计 REST API,但遇到了设计问题.我有 alerts,我希望用户能够export 到少数文件格式之一.所以我们已经开始使用 export 来处理动作/命令,这感觉就像 RPC 而不是 REST. 此外,我不想假设默认文件格式.相反,我想要求提供它.我不知道如何设计 API 来做到这一点,我也不知道如果没有提供所需的参数,我也不知道返回什么响应代码. 这是我第一次尝试:
..
当 POST 请求不成功并且请求正文格式正确时,应该返回什么 HTTP 响应代码? 对于成功的 POST 请求,我使用 201 - Created,但没有等效的未创建代码. 我在想 400 - 错误的请求,但这实际上会向用户指出请求格式错误或 304 - 未修改. 解决方案 当 POST 请求不成功并且请求正文格式正确时,应该返回什么 HTTP 响应代码? 如果您的意
..
我正在使用 apiary 创建一些 API,所以使用的语言是 JSON. 假设我需要代表这个资源: {“身份证":9,“名称":“测试",“customer_id":12,“用户 ID":1,“store_id":3,"notes" : "Lorem ipsum 示例长文本"} 通过 ID(12、1、3)引用其他资源是否正确,或者我应该指定这些资源(即/customers/12、/use
..