Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OAS 3.0 Support Backlog #3641

Open
3 of 22 tasks
shockey opened this issue Sep 8, 2017 · 35 comments
Open
3 of 22 tasks

OAS 3.0 Support Backlog #3641

shockey opened this issue Sep 8, 2017 · 35 comments
Assignees

Comments

@shockey
Copy link
Contributor

shockey commented Sep 8, 2017

⚠️ Note to onlookers: don't rely on this information, this issue is out of date! We're breaking everything here out into their own issues soon.

This is a collection ticket for OAS3 specification features that are not yet supported by Swagger-UI.

Items that affect both UI and Client will be listed here as well, but Client-only items will be filed in the Client issue tracker.

Significant items should be broken out into their own ticket when work begins, but simple items can be addressed as a line item here.

Rendering

  • Parameter example/examples is not displayed

#3616 is open for this.
Implement functionality for Try-It-Out simultaneously.

  • Parameter style/explode is not displayed
  • Parameter allowReserved is not displayed
  • Parameter content is not displayed

Reuse method for displaying Request Bodies
Render all media types, even though only one is allowed by the specification

  • Media type example/examples is not displayed

Identical to Request Body, Parameter content

  • Callbacks are not rendered
  • Media type encoding is not displayed

This has lots of moving parts before it's useful: breaking down jsonschema, rendering individual inputs, handling file uploads, etc

  • Discriminator objects are not displayed

This will change the way we display allOf, anyOf, oneOf, not.

  • Link-level servers are not displayed

Try-It-Out

  • Parameter style/explode is not considered in request construction

Needs support in Swagger-Client, mostly. Important!

  • Links can't be used to stage another operation
  • Link-level servers are not available for executing requests
  • Parameter content values are not rendered for Try-It-Out
  • Parameter encoding values are not considered
  • Blacklisted header names (Accept, Content-Type, Authorization) are not filtered out
  • Path and operation-level servers are not available for executing requests
  • Parameter allowEmptyValue is not considered in request value validation

Add a checkbox that allows construction of a request with that parameter empty (may require value validation changes)
if ‘send empty value’ is checked - you’re sending an empty value meaning the requirement is satisfied
Implementation may be best served by a split of Client's buildRequest based on definition version

  • Security type openIdConnect is not supported
  • Form Data:
@shockey
Copy link
Contributor Author

shockey commented Sep 8, 2017

cc: @webron

@hkosova
Copy link
Contributor

hkosova commented Sep 11, 2017

Also:

Rendering

  • Display server description (implemented in UI v. 3.20.2 / Editor v. 3.6.17)
  • Display server variable description
  • Display the nullable attribute in schemas

Try It Out / Rendering

@shockey shockey mentioned this issue Sep 11, 2017
3 tasks
@shockey shockey self-assigned this Sep 11, 2017
@zhandao
Copy link

zhandao commented Sep 14, 2017

enum not displayed as dropdowns

In the OAS3, enum is moved into schema, UI has not yet support this.

@leehicks
Copy link

Is there an update on when Authentication/Authorization will be supported by the UI? We used the "authorizations" in 2.0 heavily and are wanting to release with 3.0 support soon. This is a big missing piece for us. I saw mention in #3774, #3705, #3665 that it is being worked on in this issue number.

@webron
Copy link
Contributor

webron commented Oct 18, 2017

Yup. The authorization should be included by in this week's release. Keep in mind it's more about compatibility with what existed in 2.0 (base auth, oauth2, and api key). That means that OIDC is not going to be available yet. As for bearer (JWT!), that might be in, but @shockey would be able to verify.

@shockey
Copy link
Contributor Author

shockey commented Oct 18, 2017

type: http
scheme: bearer

will be supported 😄

@webron
Copy link
Contributor

webron commented Oct 18, 2017

O.M.G. !!!! !! ! 😱

@shockey
Copy link
Contributor Author

shockey commented Oct 21, 2017

@leehicks, FYI, support for most 3.0 security schemes were added in tonight's release! Check out the release notes for more info.

@webron
Copy link
Contributor

webron commented Oct 23, 2017

@leehicks - release notes - https://github.com/swagger-api/swagger-ui/releases/tag/v3.4.0

If you encountered an issue with the implementation, please file a ticket, providing the requested details in the template.

@csvikram
Copy link

@webron - Any progress on below issues?

  1. Form data fields should be displayed as items instead of a JSON object.
  2. File upload UI should appear when applicable

@webron
Copy link
Contributor

webron commented Nov 15, 2017

We try to keep the list above up to date...

@craigjbass
Copy link

Hey - looks like d587d9c was regressed at some point between 3.3.1 and 3.4.4. ( Callbacks are not rendered )

@webron
Copy link
Contributor

webron commented Nov 16, 2017

@craigjbass thanks, see swagger-api/swagger-editor#1565.

@konradziczek
Copy link

konradziczek commented Nov 21, 2017

File upload UI should appear when applicable

What is the current progress? It's very useful option.

@Fannon
Copy link

Fannon commented Feb 9, 2018

Also needing the file upload back in OpenApi 3.0 :) Is there a dedicated issue to watch?

Thank you for working on it!

@jelanwar
Copy link

Hi,
Is there any updated regarding Parameter example/examples is not displayed? as it is very useful option to have

@jonyeezs
Copy link

File upload UI should appear when applicable

Is there anything we can help speeding this up?

@webron
Copy link
Contributor

webron commented Feb 23, 2018

@jonyeezs PRs help ;)

@heldersepu
Copy link
Contributor

@webron the comment from @jelanwar got me thinking, "anything" ...
maybe this is an opportunity to monetize Open Source projects?

What if people interested in speeding features/bug fixes could put a coin bounty on the issues?
That should bring developers to submit PR to collect the bounty

@akalongman
Copy link

We really need the feature described in #4345

@imsopov
Copy link

imsopov commented Apr 30, 2018

Please allow this soon!

@zeromake
Copy link

doc
in is header support

api_key:
    type: "apiKey"
    name: "api_key"
    in: "header"

in is cookie not support has error

api_key:
    type: "apiKey"
    name: "api_key"
    in: "cookie"

error:

Schema error at securityDefinitions['api_key'].in
should be equal to one of the allowed values
allowedValues: header, query

@hkosova
Copy link
Contributor

hkosova commented Sep 26, 2018

@zeromake make sure your spec is openapi: 3.0.0 and not swagger: '2.0'.

@malutanpetronel
Copy link

..
* @OA\MediaType(
* mediaType="multipart/form-data",
* @OA\Schema(
* type="object",
* @OA\Property(
* property="files",
* description="Choose a file to upload",
* type="array",
* @OA\Items(
* description="file",
* type="string",
* format="binary",
* ),
...
after this I use
public function upload(Request $request)
{
//$imageContent = $request->getContent();
$files = $request->input('files');
$files = explode(',', $files);
foreach ($files as $file) {
dd($file);
}
}

and get
..characters">[object File]"...

How I am suppose to play with the [object File] above to finish the upload please ?

@lcahlander
Copy link

When is multipart file upload going to be supported. You had this before!

@nicod-pc
Copy link

When is multipart file upload going to be supported. You had this before!

It is supported in 2.9.2.

@lcahlander
Copy link

When is multipart file upload going to be supported. You had this before!

It is supported in 2.9.2.

It is not showing up for me. Please see my stackoverflow https://stackoverflow.com/questions/54334438/how-do-i-specify-a-multifile-upload-in-openapi

@lcahlander
Copy link

When is multipart file upload going to be supported. You had this before!

It is supported in 2.9.2.

It is not showing up for me. Please see my stackoverflow https://stackoverflow.com/questions/54334438/how-do-i-specify-a-multifile-upload-in-openapi

The picker shows up, but the UI does not appear to send the filename or mime type along with the binary.

@hkosova
Copy link
Contributor

hkosova commented Jan 29, 2019

@lcahlander

The picker shows up, but the UI does not appear to send the filename or mime type along with the binary.

This is issue #4600.

@beltschatsar
Copy link

Hi,

Can we have status about this missing feature ?

Try-it-out

  • Links can't be used to stage another operation

So that an api call output can serve as input for another call (as explained there: https://swagger.io/docs/specification/links/)

Thanks!

@j-ibarra
Copy link

j-ibarra commented Apr 2, 2020

Hi there; I am trying to send multiple files in one property, as described in the Specification, I declare

 /testmultipart:
    post:
      summary: Send multipart request.
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
              # The property name 'file' will be used for all files.
                file:
                  type: array
                  items:
                    type: string
                    format: binary

when I send the request I spect

curl -X POST -H "Content-Type: multipart/form-data" "http://localhost:3000/testmultipart" --form '[email protected]' --form '[email protected]' --form '[email protected]' '

but I see this in the body

{ "file": [ "string" ] }

@silkfire
Copy link

silkfire commented May 7, 2023

What's the status of

  • Links can't be used to stage another operation

and rendering links as hyperlinks?

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

No branches or pull requests