example body swagger swagger-2.0 openapi

body - swagger parameters in header



¿Cómo describir este cuerpo de solicitud POST JSON en OpenAPI(Swagger)? (2)

Tengo una solicitud POST que utiliza el siguiente cuerpo de solicitud JSON. ¿Cómo puedo describir este cuerpo de solicitud usando OpenAPI (Swagger)?

{ "testapi": { "testapiContext": { "messageId": "kkkk8", "messageDateTime": "2014-08-17T14:07:30+0530" }, "testapiBody": { "cameraServiceRq": { "osType": "android", "deviceType": "samsung555" } } } }

Hasta ahora probé lo siguiente, pero estoy atascado en la definición del schema cuerpo.

swagger: "2.0" info: version: 1.0.0 title: get camera license: name: MIT host: localhost basePath: /test/service schemes: - http consumes: - application/json produces: - application/json paths: /getCameraParameters: post: summary: Create new parameters operationId: createnew consumes: - application/json - application/xml produces: - application/json - application/xml parameters: - name: pet in: body description: The pet JSON you want to post schema: # <--- What do I write here? required: true responses: 200: description: "200 response" examples: application/json: { "status": "Success" }

Quiero definir el cuerpo de entrada en línea, como una muestra para la documentación.


La forma más legible de incluir un escalar de múltiples líneas en YAML es mediante el uso del estilo literal del bloque . Esto requiere que cambie su ejemplo de JSON solo mediante la sangría (que se eliminará si recupera el valor de la clave):

. . produces: - application/json example: | { "testapi": { "testapiContext": { "messageId": "kkkk8", "messageDateTime": "2014-08-17T14:07:30+0530" }, "testapiBody": { "cameraServiceRq": { "osType": "android", "deviceType": "samsung555" } } } } paths: /getCameraParameters: . .

(para mayor claridad, puede poner una línea nueva adicional o dos antes de la clave escalar de paths , que se recortan de forma predeterminada en los escalares de estilo de bloques literales).


Lo hice funcionar con:

post: consumes: - application/json produces: - application/json - text/xml - text/html parameters: - name: body in: body required: true schema: # Body schema with atomic property examples type: object properties: testapi: type: object properties: messageId: type: string example: kkkk8 messageDateTime: type: string example: ''2014-08-17T14:07:30+0530'' testapiBody: type: object properties: cameraServiceRq: type: object properties: osType: type: string example: android deviceType: type: string example: samsung555 # Alternatively, we can use a schema-level example example: testapi: testapiContext: messageId: kkkk8 messageDateTime: ''2014-08-17T14:07:30+0530'' testapiBody: cameraServiceRq: osType: android deviceType: samsung555