在Swagger API合同中记录错误代码定义

在Swagger API合同中记录错误代码定义,swagger,swagger-ui,documentation-generation,code-documentation,api-doc,Swagger,Swagger Ui,Documentation Generation,Code Documentation,Api Doc,假设您在以下情况下工作: 您有RESTAPI模块,其中的API文档生成到swagger ui.html 端点的可能HTTP状态代码通过io.swagger.annotations.*在每个端点的控制器方法级别上记录 如果出现某种错误状态(4XX或5XX),应用程序将使用类似于 "ErrorResponseDTO": { "type": "object", "properties": { "errorCode": { "type": "integer",

假设您在以下情况下工作:

  • 您有RESTAPI模块,其中的API文档生成到
    swagger ui.html
  • 端点的可能HTTP状态代码通过
    io.swagger.annotations.*
    在每个端点的控制器方法级别上记录
  • 如果出现某种错误状态(4XX或5XX),应用程序将使用类似于

    "ErrorResponseDTO": {
      "type": "object",
      "properties": {
         "errorCode": {
           "type": "integer",
           "format": "int32"
         },
        "message": {
          "type": "string"
        }
      }
    }
    
  • 应用程序有几十个错误代码(在1~XX范围内,请将它们看作是遗留的定义而不需要简单的方法来改变它们)。

  • 错误代码列表与整个应用程序相关,因此您更愿意在整个API文档中保留它们的定义列表/表,而不是单独维护每个API端点的错误代码定义
现在,您正在寻找一种有效的方法,如何将这些应用程序错误代码记录到API合同中

将带有代码描述的错误代码列表包含到生成的
swagger ui.html
中似乎是保持API文档最新的更好方法,而不是在一些自述文件中以标记格式附加静态和手写代码定义表

您对如何记录您的应用程序生成的各种代码有何建议

在本主题中,您是否遵循一些特定的良好实践

先谢谢你