api-design相关内容
API探索 虽然有几个问题涉及到这个主题,但我所能找到的问题没有一个能解决我试图理解的核心概念 如果知道API根结构,让我们想象力地说http://stackoverflow.com/api/service/,我们可以成功地从已知端点检索结果,比如说http://stackoverflow.com/api/service/answers/?id=39234,是否有任何编程或其他方法来标
..
在设计 C++ 库时,我了解到在公共接口中包含像 std::vector 这样的标准库容器是一种不好的做法(参见例如 在 dll 导出函数中使用 std::vector 的含义). 如果我想公开一个接受或返回对象列表的函数怎么办?我可以使用一个简单的数组,但是我必须添加一个 count 参数,这使得界面更麻烦,更不安全.例如,如果我想使用 map 也无济于事.我猜想像 Qt 这样的库定义了自
..
..
以下代码抛出NullPointerException: int num = Integer.getInteger("123"); 我的编译器是否在 null 上调用 getInteger,因为它是静态的?这没有任何意义! 发生了什么事? 解决方案 大局 这里有两个问题: Integer getInteger(String) 没有做你认为它做的事情 在这种情况下返回
..
我最近发现可以 "用 "nofollow">CoClassAttribute 指定默认实现. [ComImport, Guid("579A4F68-4E51-479A-A7AA-A4DDC4031F3F"), CoClass(typeof(FooImpl))]公共接口 IFoo{无效酒吧();}公共类 FooImpl : IFoo{公共无效酒吧(){}}...//构造一个 FooImplIFoo
..
我有以下接口使用回调返回 T 类型的泛型参数... 公共接口IDoWork;{T DoWork();} 但是我也有以下接口,但它不会调用回调,因为它返回 void. 公共接口IDoWork{void DoWork();} 我可以将这两个接口结合起来并使用运行时逻辑来确定差异吗?我该怎么做? 解决方案 很遗憾,它们不能合并. 您可以在框架中看到这一点 - 这就是为什么有一个单独
..
我正在设计一个 API Rest 服务,允许用户将文件上传到服务器. 我认为这是一个 PUT 请求,它会转到服务器/资源/ID 并在 json 请求正文中将文件作为 base64. 我的问题是关于这个 ID.在我的脑海中,我正在将文件传递给服务器,服务器应该负责存储该文件并生成一个唯一的 ID 以便稍后检索它,然后将该 ID 返回给状态为 ok 的客户端. 所以我正在考虑这样做,
..
我想让我的 RESTful API 非常可预测.决定何时使用 URI 而不是使用查询参数对数据进行分段的最佳做法是什么. 支持分页、排序和分组的系统参数在“?"之后对我来说很有意义.但是,诸如“状态"和“地区"之类的字段或对您的集合进行细分的其他属性呢?如果这些也是查询参数,那么知道何时使用路径参数的经验法则是什么? 解决方案 RESTful API 设计的最佳实践是使用路径参数来标
..
根据文档,方法String.valueOf(Object obj) 返回: 如果参数为null,则字符串等于"null";否则返回obj.toString()的值. 但是为什么我尝试这样做: System.out.println("String.valueOf(null) = " + String.valueOf(null)); 它会抛出 NPE 吗?(不信自己试试!) 线程“m
..
与 C# 的 IEnumerable 不同,在 C# 中,执行管道可以根据需要执行多次,而在 Java 中,流只能“迭代"一次. 对终端操作的任何调用都会关闭流,使其无法使用.这个“功能"带走了很多力量. 我想这是不是技术的原因.这个奇怪的限制背后的设计考虑是什么? 编辑:为了演示我在说什么,请考虑以下 C# 中快速排序的实现: IEnumerable快速排序(IEnumera
..
正如大多数人现在痛苦地意识到,用于处理日历日期的 Java API(特别是 java.util.Date 和 java.util.Calendar 类)真是一团糟. 我的头顶: 日期是可变的 Date 代表时间戳,而不是日期 没有简单的方法可以在日期组件(日、月、年...)和日期之间进行转换 Calendar 使用起来很笨拙,并试图将不同的日历系统合并为一个类 这篇文章 总
..
正如大多数人现在痛苦地意识到,用于处理日历日期的 Java API(特别是 java.util.Date 和 java.util.Calendar 类)真是一团糟. 我的头顶: 日期是可变的 Date 代表时间戳,而不是日期 没有简单的方法可以在日期组件(日、月、年...)和日期之间进行转换 Calendar 使用起来很笨拙,并试图将不同的日历系统合并为一个类 这篇文章 总
..
我正在摄取一个代码库,它是一个 React-NodeJS 堆栈.我试图掌握的概念之一是关于后端 API 及其处理客户端的方式. 代码库本质上是通过 API 调用从 MongoDB 转储整个集合,然后使用 React 进行大量解析和客户端逻辑以呈现自定义视图.这里的 HTTP 响应非常大,并且只会随着数据添加到数据库而变大. 与在 NodeJS 中创建多个端点并利用 Mongoose 之
..
我正在学习分页,我有一些问题. 两种方法有什么区别? 基于游标的分页的最佳用例? 基于光标的分页可以转到特定页面吗? 基于光标的分页可以返回上一页吗? 两者之间是否存在性能差异? 我的想法 我认为基于游标的要复杂得多,这使得基于偏移的分页更加可取.只有以实时数据为中心的系统才需要基于游标的分页. 解决方案 光标分页最常用于实时数据,因为新记录的添加频率很高,而
..
日期、地区、地区、新病例、住院、死亡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,
..
我正在设计一个 rest api,我需要在其中向实体添加标签.实体是使用 POST/content 创建的,其中 json 数据在请求正文中传递.我想允许在发出 POST 请求时添加标签,稍后也允许添加标签.这就是我所拥有的. POST/content?tag=foo&tag=barPUT/content/{id}?tag=baz&tag=bat 现在,我如何允许删除标签?什么是更好的方法>
..
假设我使用的库实现了一个类 class Base(object):def __init__(self, private_API_args):... 它只能通过实例化 def 工厂(public_API_args):"""返回一个 Base 对象"""... 我想通过添加几个方法来扩展 Base 类: 类派生(基础):def foo(self):...定义栏(自我):... 是否可以在不
..
在 Swift 3 中,很多方法被重命名.根据 WWDC 的其中一场会议,方法名称中的介词移至参数名称: UIView.animateWithDuration(1)->UIView.animate(withDuration: 1)UIStoryboard.instantiateViewControllerWithIdentifier("一些东西")->UIStoryboard.instantia
..
我在 Chrome 中安装了 Postman 来测试 Kairos API 网络服务.我设置了以下字段: 我收到错误消息,但关于 API 文档,它应该以这种格式工作. 缺少身份验证参数 解决方案 Kairos 的网站上说: 请求必须使用您的 API 密钥进行身份验证.这必须作为 HTTP 标头发送. 所以点击“以前使用过的"下的“将令牌添加到标题"单选按钮而不是“将
..
项目结构说明 在名为 mylib 的库中,我有一个手工编写的 API 声明文件 src/mylib.d.ts.手动编写它是有原因的:我想先设计一个 API,然后实现它(而带有 --declaration 标志的 tsc 则相反 - 它生成来自实现的 API 声明). src/mylib.d.ts 的内容: 声明模块“mylib";{导出接口动物{步行():无效;}导出类 Dog 实现
..