如何将服务器内部的客户端代码与 swagger 和 spring 启动框架集成



我是整个微服务世界的新手,但我的任务是开发微服务。规范是用swagger(现在的OpenAPI)创建的,生成的代码是在spring启动框架中。

我的具体问题,可以转换为更通用的问题。假设有两个微服务。让我们称它们为"令牌服务"和"黑名单服务"。客户端从"令牌服务"请求令牌,它将与"黑名单服务"进行检查以了解用户是否已被列入黑名单。如果未列入黑名单,将向客户端提供令牌;否则,请求将被拒绝。我能够使用 swagger 创建这两个微服务,并且它们可以独立运行。

我的问题如下。一旦客户端请求令牌,"令牌服务"需要与"黑名单服务"核对。招摇规范会生成客户端和服务器代码来执行此操作。如何将"黑名单服务"的客户端代码与"令牌服务"的服务器代码集成。我找不到任何好的资源来解释这一点。下面给出了我的示例 yml 文件。

令牌.yml

swagger: '2.0'
info:
description: Get token
version: 0.0.1
title: Token Service
host: 'localhost:8080'
basePath: /test/v1.0
schemes:
- http
paths:
/Create:
get:
summary: Get token
parameters:
- name: payload
in: body
description: The person requesting for token
schema:
type: object
properties:
name:
type: string
responses:
'200':
description: OK
schema:
type: object
properties:
name:
type: string
token:
type: string
'403':
description: Forbidden

黑名单.yml

swagger: '2.0'
info:
description: Blacklist Service
version: 0.0.1
title: Blacklist Service
host: 'localhost:8081'
basePath: /test/v1.0
schemes:
- http
paths:
/blacklist:
get:
summary: Check whether the user is blacklisted
parameters:
- name: payload
in: body
description: The name of user
schema:
type: object
properties:
name:
type: string
responses:
'200':
description: OK
'404':
description: Not found

或者有没有办法在 yml 文件本身中做到这一点,让 swagger 知道另一个服务的客户端代码需要与服务器一起生成。

可以说,在这种情况下不需要"黑名单服务"。但是我最初的问题需要检查其他服务。 在 Windows 10 上使用 OpenAPI 2.0 和 Java 8

您可以使用 Rest 模板调用另一个微服务。 请参阅此内容以进行休息电话。

https://howtodoinjava.com/spring/spring-restful/spring-restful-client-resttemplate-example/

最新更新