我试图通过在 Swagger YAML 中描述它来创建 REST 服务。
该服务有三个路径:
- /版本
- /partners/{partnerId}/users/{userId}/sessions
- /partners/{partnerId}/books/{bookId}/
我当前描述这些路径的 YAML 文件如下所示:
swagger: '2.0'
info:
version: '0.0.1'
title: Test API
host: api.test.com
basePath: /
schemes:
- https
consumes:
- application/json
produces:
- application/json
paths:
/versions:
post:
responses:
'201':
description: Returns all versions.
default:
description: unexpected error
/partners/{partnerId}/users/{userId}/sessions:
parameters:
- name: partnerId
in: path
type: integer
- name: userId
in: path
type: string
post:
responses:
'201':
description: Returns a UserSession object with info about the user session.
default:
description: unexpected error
/partners/{partnerId}/books/{bookId}/:
parameters:
- name: partnerId
in: path
type: integer
- name: bookId
in: path
type: string
get:
responses:
'200':
description: Gets a book.
default:
description: unexpected error
在此 YAML 文件中,参数“partnerId”声明了两次。
有没有办法制作“子路径”,这样我就不必声明/partners/{partnerId}
部分路径两次?
您可以做的是在顶层声明该参数,然后引用它。
swagger: '2.0'
info:
version: '0.0.1'
title: Test API
host: api.test.com
basePath: /
schemes:
- https
consumes:
- application/json
produces:
- application/json
parameters:
partnerId:
name: partnerId
in: path
type: integer
paths:
/versions:
post:
responses:
'201':
description: Returns all versions.
default:
description: unexpected error
/partners/{partnerId}/users/{userId}/sessions:
parameters:
- $ref: '#/parameters/partnerId'
- name: userId
in: path
type: string
post:
responses:
'201':
description: Returns a UserSession object with info about the user session.
default:
description: unexpected error
/partners/{partnerId}/books/{bookId}/:
parameters:
- $ref: '#/parameters/partnerId'
- name: bookId
in: path
type: string
get:
responses:
'200':
description: Gets a book.
default:
description: unexpected error
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)