Swagger Editor multiple parameters in body
I'm not sure to understand your question...
- If you are trying to define more than one body parameter for one operation, you can't. As explained in swagger specification:
Body [...] there can only be one body parameter
- If you are trying to send a body with multiple parameters, add an object model in the definitions section and refer it in your body parameter, see below (works with editor.swagger.io):
Your example nodes also are wrong, see here for more details.
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
You can also define the properties of the request body parameter using properties
as part of its schema
. This has a good example under 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
The disadvantage of course is that you don't get the reuse of an object definition, but sometimes an object definition isn't appropriate.