api - 内部服务器错误是否应该在 swagger 中记录?

标签 api documentation swagger-2.0 openapi

我正在编写一个新的 API 并使用 Swagger/OpenAPI 对其进行记录。记录错误响应似乎是一个很好的标准,开发人员可能会遇到。
但是我找不到关于内部服务器错误的任何指导方针或最佳实践。理论上,每条路径都可能抛出未处理的异常。我不希望它发生,但它可能会发生。所有路径都应该有一个状态代码为 500“内部服务器错误”的响应,还是我应该只记录开发人员可以做任何事情的响应,即 2xx、3xx 和 4xx?

最佳答案

官方文档 shows an example用于指定 responses 中的所有 5xx 状态代码部分,但它没有详细介绍特定的状态代码或返回的消息。它还提到 API 规范应该只包含已知错误:

Note that an API specification does not necessarily need to cover all possible HTTP response codes, since they may not be known in advance. However, it is expected to cover successful responses and any known errors. By “known errors” we mean, for example, a 404 Not Found response for an operation that returns a resource by ID, or a 400 Bad Request response in case of invalid operation parameters.



您可以遵循相同的方法并像示例中那样指定它。我认为尝试更具体地描述它并不重要,甚至不建议尝试更具体地描述它,因为无论如何您可能无法涵盖所有​​情况,并且预计客户端不会对因内部服务器错误返回的消息采取行动(可能不是稍后重试) .例如,我不建议为其指定消息格式。

省略任何带有 5xx HTTP 错误代码的响应也是有意义的。

关于api - 内部服务器错误是否应该在 swagger 中记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54989351/

相关文章:

java - 从 API 检索数据的最快方法

documentation - 比较和对比轻量级标记语言

java - 在 spring mvc 中禁用 swagger

javascript - 声明函数触发 Polymer 元素中的事件的正确方法是什么?

python - 如何使用 intersphinx 正确编写对外部文档的交叉引用?

hashmap - 具有动态键值 HashMap 的 Swagger 复杂响应模型

java - 在 Swagger API 响应中设置对象列表

javascript - 无法使用谷歌应用程序脚本调用 etsy API

api - 维基百科 API - 是否有通用的 'music' 类别?

javascript - 如何从 Facebook 页面获取最新状态或更新