go-openapi/runtime

GitHub: go-openapi/runtime

go-openapi/runtime 为 Go 语言 OpenAPI 工具链提供运行时接口和中间件组件,支撑基于 OpenAPI 规范的代码生成与非类型化 API 调用。

Stars: 261 | Forks: 152

# runtime [![Tests](https://static.pigsec.cn/wp-content/uploads/repos/cas/db/dbc20fbb5b43d751115743b728bc221bb9cb0a7c6247701ddba81ac8c7acc81e.svg)][test-url] [![Coverage](https://codecov.io/gh/go-openapi/runtime/branch/master/graph/badge.svg)][cov-url] [![CI vuln scan](https://static.pigsec.cn/wp-content/uploads/repos/cas/f3/f38b970f8dc114adca53ef9669122f3bf5a0a92b76f1cededc8e5af7f9b597c7.svg)][vuln-scan-url] [![CodeQL](https://static.pigsec.cn/wp-content/uploads/repos/cas/53/539e9a6bf48ad24469a4363bff3aa68124154549e26592783d3d8577f2acbbfc.svg)][codeql-url] [![Release](https://badge.fury.io/gh/go-openapi%2Fruntime.svg)][release-url] [![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/runtime)][gocard-url] [![CodeFactor Grade](https://img.shields.io/codefactor/grade/github/go-openapi/runtime)][codefactor-url] [![License](http://img.shields.io/badge/license-Apache%20v2-orange.svg)][license-url] ## [![Doc](https://img.shields.io/badge/doc-site-blue?link=https%3A%2F%2Fgo-openapi.github.io%2Fruntime%2F)][doc-url] [![GoDoc](https://pkg.go.dev/badge/github.com/go-openapi/runtime)][godoc-url] [![Discord Channel](https://img.shields.io/discord/1446918742398341256?logo=discord&label=discord&color=blue)][discord-url] [![go version](https://img.shields.io/github/go-mod/go-version/go-openapi/runtime)][goversion-url] ![Top language](https://img.shields.io/github/languages/top/go-openapi/runtime) ![Commits since latest release](https://img.shields.io/github/commits-since/go-openapi/runtime/latest) 一个用于 go OpenAPI 工具包的 runtime。 用于代码生成或非类型化使用的 runtime 组件。 ## 公告 [**作为 github 页面的完整文档**][doc-url] **`v0.30.0` 中 API 表面的变更**: * 实用工具包 `header` 现已移动到 `github.com/go-openapi/runtime/server-middleware/negotiate/header` **`v0.30.0` 中的语义变更**: 函数 `negotiate.NegotiateContentType`(为了向后兼容,可用作别名 `middleware.NegotiateContentType` 现在会考虑 MIME 参数执行完全匹配。 之前的行为(在去除参数后按出现顺序匹配)可以通过选项 `negotiate.WithIgnoreParameters` 显式启用。 * **2026-05-07** :将 UI 和 Spec 中间件公开为一个独立的、无依赖的模块。 * **2026-05-05** :将内容协商方法公开为一个独立的、无依赖的模块 ## 状态 API 已稳定。 ## 在您的项目中导入此库 ``` go get github.com/go-openapi/runtime ``` ## 更新日志 参见 有关 v0.29.0 版本,请参阅[发布说明](docs/NOTES.md)。 从该版本开始,变更将在 github 发布说明中跟踪。 **接下来有什么?** 展望未来,我们希望: * [x] 修复一些文件上传请求的已知问题(例如 #286) * [] 继续缩小依赖范围: * [x] 将中间件和其他有用的实用工具拆分为一个独立的、无依赖的模块 * 在独立模块中支持 yaml (v2) * 引入更多关于 opentelemetry 的最新支持,作为一个独立演进的模块 (为了避免破坏性变更,现有的 API 将继续维护,但演进的节奏将比 opentelemetry 慢)。 (v2) * [] 发布完善的文档和示例 ## 许可 本库基于 [SPDX-License-Identifier: Apache-2.0](./LICENSE) 发布。 参见许可 [NOTICE](./NOTICE),其中回顾了它所构建的所有软件片段的许可条款。 ## 其他文档 * [常见问题解答](https://go-openapi.github.io/runtime/tutorials/faq/) · [Media-type 选择](https://go-openapi.github.io/runtime/tutorials/media-types/) · [Client keep-alive](https://go-openapi.github.io/runtime/tutorials/keep-alive/) * [所有贡献者](./CONTRIBUTORS.md) * [贡献指南][contributing-doc-site] * [维护者文档][maintainers-doc-site] * [代码风格][style-doc-site] ## 发布新版本 维护者可以通过以下任一方式发布新版本: * 运行[此工作流](https://github.com/go-openapi/runtime/actions/workflows/bump-release.yml) * 或推送一个 semver 标签 * 首选签名标签 * 标签信息会前置到发布说明中
标签:API, EVTX分析, Go, OpenAPI, Ruby工具, SOC Prime, 代码生成, 开发工具, 日志审计, 渗透测试工具, 运行时