Skip to content

Example request string is not populated #3233

Open
@ekazakas

Description

@ekazakas

Trying to migrate from swagger-ui 2x to 3.0.12. It seems that swagger-ui 3.x is not able to render x-examples data.

"/data/targets" : {
"post" : {
"tags" : [ "dummy" ],
"summary" : "Returns validation results of given list of targets.",
"description" : "",
"operationId" : "dataTargets",
"produces" : [ "application/json" ],
"parameters" : [ {
"in" : "body",
"name" : "body",
"description" : "Targets list in JSON format.",
"required" : true,
"schema" : {
"type" : "string"
},
"x-examples" : {
"default" : "{\"targets\": \"[1, 2, 3, 4]\"}"
}
}
<...>
}

In version 2.x swagger-ui was able to use the value from x-examples as example request. As a quick and dirty hack, I have made some changes in src/core/components/param-body.jsx

updateValues = (props) => {
let { specSelectors, pathMethod, param, isExecute, consumesValue="" } = props
let parameter = specSelectors ? specSelectors.getParameter(pathMethod, param.get("name")) : {}
let isXml = /xml/i.test(consumesValue);
let paramValue = isXml ? parameter.get("value_xml") : parameter.get("value");
if (parameter.get("x-examples") && parameter.get("x-examples").get("default")) {
paramValue = parameter.get("x-examples").get("default")
}
....
}

Is it possible to address this properly? Add support of x-examples into core or maybe create a plugin for this?

Activity

webron

webron commented on Jun 13, 2017

@webron
Contributor

We currently don't have support for x-example/s in 3.X.

ekazakas

ekazakas commented on Jun 14, 2017

@ekazakas
Author

@webron any idea / hints how this could be done? I could try and make a contribution.

webron

webron commented on Jun 14, 2017

@webron
Contributor

Thanks for the offer. Unfortunately, I can't point you in the right direction, and while @shockey can, he's really focused on finishing a different task right now. I'll assign the ticket to him so he could hopefully get back to you next week.

ekazakas

ekazakas commented on Jun 16, 2017

@ekazakas
Author

Sure, that would be great!

shockey

shockey commented on Jun 27, 2017

@shockey
Contributor

@kamikazik, apologies for the delay in my reply.

Your change to param-body.jsx seems like a step in the right direction - if you'd like to open a PR for this feature, I'd be happy to review it.

To you, and to anyone else considering implementing this feature, here's some prior art on x-example: #1980

heldersepu

heldersepu commented on Jul 3, 2017

@heldersepu
Contributor

@kamikazik I use examples too but just the regular examples (not the "x-examples" never had a need for those) and they do work on v3.x.

Take a look here:
http://swashbuckletest.azurewebsites.net/swagger/ui/index#/Dictionary/Dictionary_PostEcho

image

QuasiSoDo

QuasiSoDo commented on Jul 7, 2017

@QuasiSoDo

I am currently in the same boat of having missing x-example value display for my parameters in swagger-ui 3.x.
I noticed that java-package io.swagger.models.parameters.AbstractSerializableParameter has:

@JsonProperty("x-example")
public Object getExample() {

So a swagger.json generated with swagger.jaxrs.listing.SwaggerSerializers will only have "x-example" but not "example" fields

Now i am unsure why this is the case. Is "example" not a valid field for a Parameter and "x-example" is required?

Am i understanding correctly that x-example support is supposed to be added to be supported by swagger-ui and the Parameter-Objects should keep their x-example Fields?

gmartinezsan

gmartinezsan commented on Sep 1, 2017

@gmartinezsan

hi @shockey, any workaround so we can get the values populated in the UI?
I'm using v 2.0 and can't seem to find any way to make the UI shows the values I have in the x-examples or examples element.
Thanks!

heldersepu

heldersepu commented on Oct 26, 2017

@heldersepu
Contributor

@gmartinezsan Do you still have the problem? Can you send us your swagger.json?

mmamyan

mmamyan commented on Apr 2, 2020

@mmamyan

Hello, is this problem fixed for swagger 2.0 and swagger ui 3.25.0? I still have this problem.

hkosova

hkosova commented on Mar 24, 2021

@hkosova
Contributor

By the way, OpenAPI 3 has built-in support for request body examples. You can provide one or multiple examples and also reference external examples.

openapi: 3.0.0

paths:
  /something:
    post:
      requestBody:
        content:
          application/json:
            schema:
              type: object
            example:   # <------
              targets: [1, 2, 3, 4]
cxx5208

cxx5208 commented on Feb 15, 2024

@cxx5208

Hey Can you assign this to me? I will try to fix the issue
Thank you

heldersepu

heldersepu commented on Feb 15, 2024

@heldersepu
Contributor

@cxx5208 this is an open source project ... you don't need anything assigned to you ... just submit a PR with your fix and add a comment referencing this issue

mattdelashaw

mattdelashaw commented on Feb 23, 2025

@mattdelashaw

@cxx5208 this is an open source project ... you don't need anything assigned to you ... just submit a PR with your fix and add a comment referencing this issue

What day and time are the sprint retrospectives?

heldersepu

heldersepu commented on Feb 24, 2025

@heldersepu
Contributor

@cxx5208 this is an open source project ... you don't need anything assigned to you ... just submit a PR with your fix and add a comment referencing this issue

What day and time are the sprint retrospectives?

“At 20:04 on day-of-month 12.”
cron 4 20 12 * *

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Development

    Participants

    @webron@heldersepu@shockey@ekazakas@mattdelashaw

    Issue actions

      Example request string is not populated · Issue #3233 · swagger-api/swagger-ui