从 Maven 项目作为客户端连接到 swagger 端点的问题

Questions connecting to swagger endpoint as client from Maven Project

提问人:maiah 提问时间:11/14/2023 最后编辑:maiah 更新时间:11/15/2023 访问量:25

问:

我正在使用一个使用 Spring 并用 Groovy 编写的 Maven 项目。此项目也是一个 Web 应用程序,具有自己的 UI、服务器、环境和身份验证。

我需要此应用程序连接到由另一个团队设置的 swagger api 端点并返回结果。

我不需要创建新的终结点。我需要连接到一个已经存在的

端点需要令牌的问题,我不确定如何进行设置。

我发现这篇文章展示了为 swagger 代码生成运行命令行工具。 https://phauer.com/2015/enriching-restful-services-swagger/

在客户端部分,它显示了如何使用 cmd 生成新的 maven 项目。但问题是我不想生成一个新的 maven 项目,因为我已经存在一个项目。

有没有人知道客户端从端点生成令牌的另一种方式?

我即将浏览 ApiClient 文档,因为我认为这可能有答案,但同样,这是使用 OAuth2 和我尝试连接的端点,我相信它使用 JWT 并且没有 clientid 或 secretid。

想知道是否有人遇到过这个问题,并有任何建议或指向文档的指示,以了解要研究哪些依赖项/库才能做到这一点。

编辑:我能够与团队交谈,并获得了一个令牌和标题,我现在可以使用它来连接。

Maven JWT Swagger 令牌 端点

评论


答:

1赞 ch4mp 11/14/2023 #1

您需要将 Spring 应用程序配置为 OAuth2 客户端来获取令牌。您可能对流程感兴趣。client_credentials

然后,使用 REST 客户端发送一个请求,其标头设置了来自 的令牌。您可以考虑使用 或 作为 REST 客户端,两者都具有使用令牌轻松设置标头的工具。请参阅所选客户端的文档。AuthorizationOAuth2AuthorizedClientRepository@FeignClientRestClientAuthorizationBearer