Refactor openApi parameters

This commit is contained in:
2019-08-29 14:11:08 +02:00
parent 679dd2e4c5
commit 20e9c3f7ef

View File

@@ -65,7 +65,6 @@ paths:
404: 404:
description: Citizen not found description: Citizen not found
/citizens: /citizens:
description: Get all citizens
get: get:
security: security:
- JWTAuth: [] - JWTAuth: []
@@ -74,60 +73,72 @@ paths:
- citizen - citizen
operationId: getCitizens operationId: getCitizens
parameters: parameters:
- name: page - $ref: '#/components/parameters/page'
in: query - $ref: '#/components/parameters/limit'
description: The current page - $ref: '#/components/parameters/sort'
example: 1 - $ref: '#/components/parameters/direction'
required: false - $ref: '#/components/parameters/search'
schema:
default: 1
type: integer
minimum: 1
- name: limit
in: query
description: The number of citizen per page
example: 50
required: false
schema:
default: 50
type: integer
minimum: 1
maximum: 50
- name: sort
in: query
description: The sort field name
example: first_name
required: false
schema:
type: string
- name: direction
in: query
description: The sort direction
example: asc
required: false
schema:
type: string
default: asc
enum: [asc, desc]
- name: search
in: query
description: A text to seach
example: John Doe
required: false
schema:
type: string
responses: responses:
200: 200:
description: The Citizen object description: The Citizen objects
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/CitizenResponse' type: array
404: items:
description: Citizen not found $ref: '#/components/schemas/CitizenResponse'
components: components:
parameters:
page:
name: page
in: query
description: The current page
example: 1
required: false
schema:
default: 1
type: integer
minimum: 1
limit:
name: limit
in: query
description: The number of object per page
example: 50
required: false
schema:
default: 50
type: integer
minimum: 1
maximum: 50
sort:
name: sort
in: query
description: The sort field name
example: first_name
required: false
schema:
type: string
direction:
name: direction
in: query
description: The sort direction
example: asc
required: false
schema:
type: string
default: asc
enum: [asc, desc]
search:
name: search
in: query
description: A text to seach
example: John Doe
required: false
schema:
type: string
securitySchemes: securitySchemes:
JWTAuth: JWTAuth:
type: http type: http
@@ -143,6 +154,14 @@ components:
example: example:
e74be8e4-6823-47c4-bd1b-789725b2fa8e e74be8e4-6823-47c4-bd1b-789725b2fa8e
UuidEntity:
properties:
id:
type: object
properties:
id:
$ref: '#/components/schemas/UUID'
UserBase: UserBase:
properties: properties:
username: username:
@@ -153,10 +172,7 @@ components:
UserResponse: UserResponse:
allOf: allOf:
- $ref: '#/components/schemas/UserBase' - $ref: '#/components/schemas/UserBase'
- type: object - $ref: '#/components/schemas/UuidEntity'
properties:
id:
$ref: '#/components/schemas/UUID'
UserRequest: UserRequest:
allOf: allOf:
- $ref: '#/components/schemas/UserBase' - $ref: '#/components/schemas/UserBase'