我是整个微服务领域的新手,但我的任务是开发微服务。使用swagger(现在是OpenAPI)创建规范,生成的代码在spring boot框架中。
我的具体问题,可以转换为更通用的问题。假设有两个微服务。让我们称他们为#34;令牌服务"和"黑名单服务"。客户端从"令牌服务请求令牌"并且它将与"黑名单服务"了解用户是否已被列入黑名单。如果没有列入黑名单,客户将获得一个令牌;否则请求被拒绝。我能够使用swagger创建这两个微服务,并且它们可以独立运行。
我的问题如下。一旦客户端请求令牌,"令牌服务"需要查看"黑名单服务"。 swagger规范生成客户端以及服务器代码来执行此操作。我如何整合"黑名单服务"的客户代码?使用服务器代码"令牌服务"。我无法找到任何解释这一点的好资源。我的样本yml文件如下所示。
token.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
blacklist.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
答案 0 :(得分:0)
您可以使用Rest Template调用另一个微服务。 请参阅此休息电话。
https://howtodoinjava.com/spring/spring-restful/spring-restful-client-resttemplate-example/