Je comprends donc que si nous voulons des paramètres de corps, nous devons avoir un schéma, ce que je fais. Le problème est que peu importe comment j'essaie de définir mon schéma, cela ne me permet pas d'avoir plusieurs paramètres de corps. Voici un exemple d'une des méthodes que j'ai essayées. Toute aide est la bienvenue!
swagger: '2.0'
# This is your document metadata
info:
version: "0.0.1"
title: Todo App
schema: {
}
Host: localhost:3000
schemes:
- http
- https
consumes:
- application/json
produces:
- application/x-www-form-urlencoded
basePath: /
paths:
# This is a path endpoint. Change it.
/tasks:
post:
description: |
Add 'Task' object.
parameters:
# An example parameter that is in query and is required
-
name: name
in: query
description: unique object task name
required: true
schema:
type: string
- name: description
in: query
description: task description
required: true
schema:
type: string
responses:
# Response code
200:
description: Successful response
# A schema describing your response object.
# Use JSON Schema format
schema:
title: Return String
type: string
example: "Task added succesfully"
500:
description: Error
schema:
type: string
example: "Could not add Task"
Je ne suis pas sûr de comprendre votre question ...
Corps [...] il ne peut y avoir qu'un seul paramètre de corps
Vos exemples de nœuds sont également incorrects, voir ici pour plus de détails.
swagger: '2.0'
info:
version: "0.0.1"
title: Todo App
Host: localhost:3000
schemes:
- http
- https
consumes:
- application/json
produces:
- application/x-www-form-urlencoded
basePath: /
paths:
# This is a path endpoint. Change it.
/tasks:
post:
description: |
Add 'Task' object.
parameters:
- name: task
in: body
description: task object
required: true
schema:
$ref: '#/definitions/Task'
responses:
200:
description: Successful response
schema:
title: Return String
type: string
example: "Task added succesfully"
500:
description: Error
schema:
type: string
example: "Could not add Task"
definitions:
Task:
description: Task object
properties:
name:
type: string
description: task object name
description:
type: string
description: task description
required:
- name
- description
Vous pouvez également définir les propriétés du paramètre de corps de requête à l'aide de properties
dans le cadre de son script schema
. Ceci a un bon exemple sous Object Payload: https://swagger.io/docs/specification/2-0/describing-request-body/ .
paths:
/users:
post:
summary: Creates a new user.
consumes:
- application/json
parameters:
- in: body
name: user
description: The user to create.
schema:
type: object
required:
- userName
properties:
userName:
type: string
firstName:
type: string
lastName:
type: string
responses:
201:
description: Created
Bien entendu, l’inconvénient est que la définition d’objet n’est pas réutilisée, mais parfois, une définition d’objet n’est pas appropriée.