api-design相关内容

如何 REST 完全支持创建一个资源,该资源是其他资源的集合并避免由于数据库创建而导致的 HTTP 超时?

在我的应用程序中,我有一个 Draw 的概念,并且该 Draw 必须始终包含在一个订单中. 一个 Draw 有一组属性:background_color, font_size, ... 引用著名的 REST 论文: 任何可以命名的信息都可以是资源:文档或图像,时间服务(例如“洛杉矶今天的天气"),其他资源的集合,非虚拟对象(例如一个人),等等. 所以,我在这里收集的其他资源 ..
发布时间:2021-11-15 21:04:08 其他开发

关于 JSON Web 令牌 (JWT) 的安全性和可靠性问题

我正在为个人项目创建 API 和 SPA,但我在以下解决方案之间犹豫不决以验证用户身份(注意:通过 HTTPS): HTTP 基本身份验证(发送每个请求的用户名/密码) 基于令牌的身份验证(将 SHA1-ed 用户令牌存储在数据库中) JSON 网络令牌 (JWT) 身份验证 我什至不考虑 OAuth,因为它看起来很痛苦,而且我不需要与其他应用程序进行身份验证,我只关心对用户进行身 ..

HATEOAS 和链接/操作

我正在努力思考如何(以及是否要)在我的 api 中实现 HATEOAS.我喜欢只为客户提供适合当前情况的行动的概念之一.但是我不确定我是否正确地实施了这个想法. 假设我有一个资源类型order,其状态可以更改,它可以有不同的状态(processing、accepted、拒绝、过期、成功).然后我应该创建以下 json 对象: {...“链接":{"accept": "http://exam ..
发布时间:2021-11-15 21:04:02 其他开发

颜色附件的数量是否受 API 限制

OpenGL 规范要求帧缓冲区至少支持 8 种颜色附件.现在,OpenGL 使用编译时常量(至少在我的系统上),例如 GL_COLOR_ATTACHMENTi 和 GL_DEPTH_ATTACHMENT 附件在 GL_COLOR_ATTACHMENT0 之后跟随 32 个单位.这是否意味着无论硬件多么强大,都不可能使用超过 32 种颜色的附件?澄清一下,这与 Ubuntu 16.04 上的 GLE ..
发布时间:2021-11-15 21:03:56 其他开发

如何从仅使用 facebook 登录的应用程序安全地提交分数?

我们的安卓应用只有facebook登录. 这是服务器中发生的事情: 在正文中使用 Facebook 的用户访问令牌发送 POST 请求时创建用户. 每当通过 POST 请求创建用户时,都会生成一个 api 令牌并将其作为响应发送,如下所示: {"message":"用户成功创建","api_token":"ACITyBKf0jKrfqOFumTMcaEEJ8jU151crRdE ..
发布时间:2021-11-15 21:03:47 PHP

从异步 API 获取结果

我正在构建用于使用 Lumen 进行处理的 API,每个请求的处理作业大约需要 1-3 秒. 到目前为止,我是用作业队列和 beanstalkd 完成的,它是异步的,这意味着我返回 job_id,稍后我可以检查结果. 我也在编写 PHP 客户端来利用 API,为此我想知道我是否应该包括“等待"参数服务器端或客户端?如果在服务器端实现等待,我将需要在作业分派后休眠并检查数据库中的结果,然 ..
发布时间:2021-11-15 21:03:44 PHP

API 返回链接表 ID 的空值

这个问题一直困扰着我,非常感谢您的帮助. 我创建了一个链接到客户 ID 和手机 ID 的“NewPurchases"API.但是,当我手动填充数据库中的“采购"表并在 POSTMAN 上检查此 API 的 GET 功能时,它返回客户和手机 ID 的空值: 1002018-02-15T00:00:00 ..
发布时间:2021-11-15 21:03:39 其他开发

为首次登录创建用户记录/配置文件

我使用身份验证服务 Auth0 来允许用户登录我的应用程序.该应用程序是一个问答平台,很像 stackoverflow.我在我的服务器上存储了一个用户个人资料,其中包含诸如“关于我"、投票、偏好等信息. 当新用户登录时,我需要做以下两件事之一: 对于现有用户 - 从我的 api 服务器检索用户配置文件 对于新用户 - 在数据库上创建一个新的配置文件 用户登录后,Auth0(身份 ..
发布时间:2021-11-15 21:03:36 其他开发

前端与后端处理

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

如何将复杂对象作为 $http 参数传递并作为 API 控制器操作中的视图模型接收

我有一个 API 端点.控制器动作看起来像这样 - public IHttpActionResult Post(string entityType, SomeModel someModel) 这里的SomeModel是一个视图模型,看起来像这样 - public class SomeModel{公长?身份证{得到;放;}公共长 EntityId { 获取;放;}公共字符串文本 { 获取;放; ..
发布时间:2021-11-15 21:03:30 C#/.NET

开放API继承示例数据

我正在使用 OpenAPI 3.0 为我正在构建的服务定义 API.我遇到了在其他组件中重用架构组件的问题.例如,我有一个 Note 对象,其中包含创建笔记的人的 Profile 对象.这通过使用 $ref 关键字引用 Profile 对象来按预期工作.问题是在显示示例时没有配置文件的任何数据,如果我将引用放在下面的示例中,它包括 Profile 的实际 OpenAPI 块,而不仅仅是用于配置文件 ..
发布时间:2021-11-15 21:03:27 其他开发

在 REST Api 调用中批量更新集合的最佳实践

您好,我正在寻找有关 API 设计的最佳实践,以便通过 API 调用批量更新集合. 我的收藏有 URL/api/v1/cars,我想更新收藏中的所有汽车以添加当前时间的时间戳. {数据: [{制造商:'保时捷',时间戳:...},{制造商:'宝马',时间戳:...}{制造商:'标致',时间戳:...}} 我想了几个选项,但我不知道什么是最佳做法. 应该是: 1/建模为另一个资 ..
发布时间:2021-11-15 21:03:24 其他开发

BigCommerce 更明确的回应

当程序尝试发布已存在的货件时,BigCommerce 能否更改其 API 响应以使其更加清晰? 向 BigCommerce 发布货件时,如果货件已存在,您会收到以下错误消息. 400字段“数量"无效.指定的数量大于可发货的产品数量. ..
发布时间:2021-11-15 21:03:21 其他开发

如果任务抛出 RuntimeException/Error,ScheduledExecutorService.scheduleAt* 方法是否应该重新安排任务?

有一天,我在我的应用程序中实现了一项重要的服务,无论如何它都应该继续运行.所以我使用了以下结构: ScheduledExecutorService ses =Executors.newSingleThreadScheduledExecutor();//如果线程死了,另一个将接管ses.scheduleAtFixedRate(importantPeriodicTask, 1, 1, TimeUni ..
发布时间:2021-11-15 21:03:18 Java开发

基于BGL的新类中自定义函数addEdge的返回值应该是多少?

我尝试实现基于 https://stackoverflow.com/a/950173/7558038 的图形类.添加边时,我返回添加边的边描述符,但如果边已存在,则不应添加它.那我回什么?不幸的是,null_edge() 不存在(与 null_vertex() 不同).它可能是一个 std::pair 和一个适当的边迭代器类型 e_it_t,但是我怎样才能得到一个迭代器到 ..
发布时间:2021-11-15 21:03:15 C/C++开发

什么是使用过滤器查询的 RESTful 方式?

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

OpenAPI 3.0 模拟生成器

我正在学习 OpenAPI 规范.是否有任何工具可以基于 YAML 格式的 OpenAPI 定义来模拟 API? 解决方案 SwaggerHub 包括一个用于 OpenAPI 3.0 和 2.0 规范的模拟服务器.付费和免费计划都提供模拟功能. 要使用模拟服务器,请将您的规范导入 SwaggerHub 并启用“API 自动模拟".模拟响应可以是 JSON、YAML 和 XML,并根据 ..
发布时间:2021-11-15 21:03:06 其他开发