OpenAPI服务器自动生成工具

基于OpenAPI规范自动生成MCP服务器代码的Quarkus框架工具,适用于快速构建RESTful服务。

  • by thibautrety
  • Java
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 thibautrety/quarkus_mcp

使用说明

Quarkus MCP 自动生成

通用的;一般的

该项目旨在利用(以下技术/工具)从OpenAPI规范中自动生成MCP服务器

mvn clean install

当运行此命令时,会使用位于 src/main/resources/openapi.yaml 的 OpenAPI 规范来生成 MCP 服务器代码。

如何更新一代(或:如何进行版本迭代)

胡子模板(或称为特定模板)位于 src/main/resources/openapi-templates/JavaJaxRS/resteasy 目录下
此模板指定了OpenAPI规范中定义的每个操作的代码生成。 如果你想启用mcp服务器,你必须在你的openapi规范中指定:

x-enable-mcp-server: true

并且你必须为每项操作指定(具体要求/细节)

x-enable-mcp-operation: true

在这个示例中,唯一启用的订单操作是“put”(放入/更新)操作。

关于Quarkus的使用

这个项目使用了Quarkus,一个超高速的亚原子级Java框架。

如果您想了解更多关于Quarkus的信息,请访问其官方网站: https://quarkus.io/。

以开发模式运行应用程序

你可以以开发模式运行你的应用程序,该模式支持实时编码,使用方法如下:

./mvnw quarkus:dev

注: Quarkus 现在附带了一个开发用户界面(Dev UI),该界面仅在开发模式下可用 http://localhost:8080/q/dev/。

打包和运行应用程序

该应用程序可以使用以下方式进行打包:

./mvnw package

它产生 quarkus-run.jar 文件在(其中/里面) target/quarkus-app/ 目录。 请注意,这并不是一个 “über-jar”可以翻译为“超级JAR”或“高级JAR”,具体取决于上下文和语境。在计算机科学或软件开发领域,JAR(Java Archive)通常指的是一种用于打包Java应用程序的文件格式,而“über-jar”可能指的是一个包含更多功能或更复杂内容的JAR文件。因此,根据具体语境,可以灵活翻译为“超级JAR”或“高级JAR”等。 随着依赖项被复制到 target/quarkus-app/lib/ 目录。

该应用程序现在可以使用以下方式运行: java -jar target/quarkus-app/quarkus-run.jar。

如果你想建立一个 _“über-jar”可以翻译为“超JAR”或根据上下文具体含义,也可以意译为“高级JAR”或“增强型JAR”,但最直接的翻译是“超JAR”。这里,“über”是一个德语前缀,通常表示“超过”、“极度”或“非常”的意思,而“jar”在计算机领域通常指的是Java归档文件。因此,“über-jar”可以理解为一种超越了普通JAR文件的、更高级或更强大的JAR文件。_执行以下命令:

./mvnw package -Dquarkus.package.jar.type=uber-jar

该应用程序,被打包成一个 “über-jar”可以翻译为“超(大)jar”或“超级jar”,具体翻译取决于上下文和使用场景。在计算机领域,尤其是Java编程中,“jar”通常指的是Java Archive(Java归档文件),所以“über-jar”可能指的是一个特别大或功能更全面的Java归档文件。不过,这个词汇并不是非常常见,可能需要根据具体语境来确定最准确的翻译。,现在可以使用(某种方式/工具)来运行了 java -jar target/*-runner.jar。

创建本地可执行文件

您可以使用以下方法创建一个本地可执行文件:

./mvnw package -Dnative

或者,如果您没有安装GraalVM,您可以使用以下命令在容器中运行原生可执行文件构建:

./mvnw package -Dnative -Dquarkus.native.container-build=true

然后,您可以使用以下命令来执行您的本地可执行文件: ./target/code-with-quarkus-1.0.0-SNAPSHOT-runner

如果您想了解更多关于构建本地可执行文件的信息,请参阅 https://quarkus.io/guides/maven-tooling。

相关指南

  • REST(指南;引导): 一个利用构建时处理和Vert.x的Jakarta REST实现。此扩展与quarkus-resteasy扩展或任何依赖于它的扩展不兼容。

提供的代码

REST(Representational State Transfer,表述性状态转移)

轻松启动您的REST Web服务

相关指南部分。。。