首页 文章

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

提问于
浏览
0

我是整个微服务领域的新手,但我的任务是开发微服务 . 使用swagger(现在是OpenAPI)创建规范,生成的代码在spring boot框架中 .

我的具体问题,可以转换为更通用的问题 . 假设有两个微服务 . 让我们称它们为“令牌服务”和“黑名单服务” . 客户端从“令牌服务”请求令牌,并且它将检查“黑名单服务”以知道用户是否已被列入黑名单 . 如果没有列入黑名单,客户将获得一个令牌;否则请求被拒绝 . 我能够使用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

1 回答

相关问题