api-design相关内容

查找API端点的方法

API探索 虽然有几个问题涉及到这个主题,但我所能找到的问题没有一个能解决我试图理解的核心概念 如果知道API根结构,让我们想象力地说http://stackoverflow.com/api/service/,我们可以成功地从已知端点检索结果,比如说http://stackoverflow.com/api/service/answers/?id=39234,是否有任何编程或其他方法来标 ..
发布时间:2022-02-25 10:36:55 其他开发

在 C++ 库接口中安全使用容器

在设计 C++ 库时,我了解到在公共接口中包含像 std::vector 这样的标准库容器是一种不好的做法(参见例如 在 dll 导出函数中使用 std::vector 的含义). 如果我想公开一个接受或返回对象列表的函数怎么办?我可以使用一个简单的数组,但是我必须添加一个 count 参数,这使得界面更麻烦,更不安全.例如,如果我想使用 map 也无济于事.我猜想像 Qt 这样的库定义了自 ..
发布时间:2022-01-24 21:03:02 C/C++开发

为什么 int num = Integer.getInteger("123") 会抛出 NullPointerException?

以下代码抛出NullPointerException: int num = Integer.getInteger("123"); 我的编译器是否在 null 上调用 getInteger,因为它是静态的?这没有任何意义! 发生了什么事? 解决方案 大局 这里有两个问题: Integer getInteger(String) 没有做你认为它做的事情 在这种情况下返回 ..
发布时间:2022-01-14 14:09:52 Java开发

C#泛型:如果T是返回类型,它也可以是void吗?如何将这些接口组合在一起?

我有以下接口使用回调返回 T 类型的泛型参数... 公共接口IDoWork;{T DoWork();} 但是我也有以下接口,但它不会调用回调,因为它返回 void. 公共接口IDoWork{void DoWork();} 我可以将这两个接口结合起来并使用运行时逻辑来确定差异吗?我该怎么做? 解决方案 很遗憾,它们不能合并. 您可以在框架中看到这一点 - 这就是为什么有一个单独 ..
发布时间:2021-11-28 21:49:48 C#/.NET

我可以不带 ID 就 PUT 吗?

我正在设计一个 API Rest 服务,允许用户将文件上传到服务器. 我认为这是一个 PUT 请求,它会转到服务器/资源/ID 并在 json 请求正文中将文件作为 base64. 我的问题是关于这个 ID.在我的脑海中,我正在将文件传递给服务器,服务器应该负责存储该文件并生成一个唯一的 ID 以便稍后检索它,然后将该 ID 返回给状态为 ok 的客户端. 所以我正在考虑这样做, ..
发布时间:2021-11-28 21:49:31 其他开发

我什么时候在 RESTful API 中使用路径参数和查询参数?

我想让我的 RESTful API 非常可预测.决定何时使用 URI 而不是使用查询参数对数据进行分段的最佳做法是什么. 支持分页、排序和分组的系统参数在“?"之后对我来说很有意义.但是,诸如“状态"和“地区"之类的字段或对您的集合进行细分的其他属性呢?如果这些也是查询参数,那么知道何时使用路径参数的经验法则是什么? 解决方案 RESTful API 设计的最佳实践是使用路径参数来标 ..

为什么 Java Streams 是一次性的?

与 C# 的 IEnumerable 不同,在 C# 中,执行管道可以根据需要执行多次,而在 Java 中,流只能“迭代"一次. 对终端操作的任何调用都会关闭流,使其无法使用.这个“功能"带走了很多力量. 我想这是不是技术的原因.这个奇怪的限制背后的设计考虑是什么? 编辑:为了演示我在说什么,请考虑以下 C# 中快速排序的实现: IEnumerable快速排序(IEnumera ..
发布时间:2021-11-25 19:35:10 Java开发

为什么 Java 日期 API (java.util.Date, .Calendar) 如此混乱?

正如大多数人现在痛苦地意识到,用于处理日历日期的 Java API(特别是 java.util.Date 和 java.util.Calendar 类)真是一团糟. 我的头顶: 日期是可变的 Date 代表时间戳,而不是日期 没有简单的方法可以在日期组件(日、月、年...)和日期之间进行转换 Calendar 使用起来很笨拙,并试图将不同的日历系统合并为一个类 这篇文章 总 ..
发布时间:2021-11-25 11:08:07 Java开发

为什么 Java 日期 API (java.util.Date, .Calendar) 如此混乱?

正如大多数人现在痛苦地意识到,用于处理日历日期的 Java API(特别是 java.util.Date 和 java.util.Calendar 类)真是一团糟. 我的头顶: 日期是可变的 Date 代表时间戳,而不是日期 没有简单的方法可以在日期组件(日、月、年...)和日期之间进行转换 Calendar 使用起来很笨拙,并试图将不同的日历系统合并为一个类 这篇文章 总 ..
发布时间:2021-11-19 22:40:23 Java开发

前端与后端处理

我正在摄取一个代码库,它是一个 React-NodeJS 堆栈.我试图掌握的概念之一是关于后端 API 及其处理客户端的方式. 代码库本质上是通过 API 调用从 MongoDB 转储整个集合,然后使用 React 进行大量解析和客户端逻辑以呈现自定义视图.这里的 HTTP 响应非常大,并且只会随着数据添加到数据库而变大. 与在 NodeJS 中创建多个端点并利用 Mongoose 之 ..
发布时间:2021-11-17 03:04:26 其他开发

偏移分页与光标分页

我正在学习分页,我有一些问题. 两种方法有什么区别? 基于游标的分页的最佳用例? 基于光标的分页可以转到特定页面吗? 基于光标的分页可以返回上一页吗? 两者之间是否存在性能差异? 我的想法 我认为基于游标的要复杂得多,这使得基于偏移的分页更加可取.只有以实时数据为中心的系统才需要基于游标的分页. 解决方案 光标分页最常用于实时数据,因为新记录的添加频率很高,而 ..
发布时间:2021-11-17 02:54:56 其他开发

如何在java类中最好地存储来自CSV的数据?单个 Row 对象列表,还是具有嵌套对象的单个对象?

日期、地区、地区、新病例、住院、死亡5/21/2020,Accomack,Eastern Shore,709,40,115/21/2020,雅宝,托马斯·杰斐逊,142,19,45/21/2020,Alleghany,Alleghany,9,4,02020 年 5 月 21 日,阿米莉亚,皮埃蒙特,22,7,12020 年 5 月 21 日,弗吉尼亚州中部阿默斯特,25,3,05/21/2020, ..
发布时间:2021-11-15 21:04:27 Java开发

Rest api - 向实体添加标签

我正在设计一个 rest api,我需要在其中向实体添加标签.实体是使用 POST/content 创建的,其中 json 数据在请求正文中传递.我想允许在发出 POST 请求时添加标签,稍后也允许添加标签.这就是我所拥有的. POST/content?tag=foo&tag=barPUT/content/{id}?tag=baz&tag=bat 现在,我如何允许删除标签?什么是更好的方法> ..
发布时间:2021-11-15 21:04:24 其他开发

使用 Postman 进行 API 网络服务测试

我在 Chrome 中安装了 Postman 来测试 Kairos API 网络服务.我设置了以下字段: 我收到错误消息,但关于 API 文档,它应该以这种格式工作. 缺少身份验证参数 解决方案 Kairos 的网站上说: 请求必须使用您的 API 密钥进行身份验证.这必须作为 HTTP 标头发送. 所以点击“以前使用过的"下的“将令牌添加到标题"单选按钮而不是“将 ..
发布时间:2021-11-15 21:04:14 其他开发

保持 Typescript 库 API 声明与其实现一致的方法?

项目结构说明 在名为 mylib 的库中,我有一个手工编写的 API 声明文件 src/mylib.d.ts.手动编写它是有原因的:我想先设计一个 API,然后实现它(而带有 --declaration 标志的 tsc 则相反 - 它生成来自实现的 API 声明). src/mylib.d.ts 的内容: 声明模块“mylib";{导出接口动物{步行():无效;}导出类 Dog 实现 ..
发布时间:2021-11-15 21:04:11 其他开发