Sadly this is a Swagger UI issue, see please
https://github.com/swagger-api/swagger-ui/issues/3641, it is in backlog and
is not yet implemented for OAS 3.0.

Best Regards,
    Andriy Redko

On Wed, Sep 5, 2018, 10:41 AM Irfan Pasha <[email protected]> wrote:

> Hi Andriy,
>
> I tried that but I still do not see any option to upload. I only see a
> text area instead of uploading option. Is that the way it should be ?
>
> On Wed, Sep 5, 2018 at 9:12 AM Andrey Redko <[email protected]> wrote:
>
>> Hey Irfan,
>>
>> So yeah, you cannot use attachments like this, it should be hidden behind
>> binary payload. The only thing you need to do is to change type="file" to
>> type="string" in your @Schema. This is the OAS 3.0 approach:
>> https://swagger.io/docs/specification/describing-request-body/file-upload/
>>
>> And you should be fine.
>> Thanks!
>>
>> Best Regards,
>>     Andriy Redko
>>
>> On Tue, Sep 4, 2018, 9:55 PM Irfan Pasha <[email protected]> wrote:
>>
>>>
>>> Hi Andrey,
>>>
>>> As always, thanks for responding so quickly. Please find below the code
>>> snippet of my service
>>>
>>>  @PUT
>>>   @Path("/{WebAppName}")
>>>    @Consumes(MediaType.MULTIPART_FORM_DATA)
>>>    @Produces("application/json")
>>>     @Tag(name = "Update")
>>>     @Operation(
>>>             summary = "Update Services",
>>>             description = "Update Services",
>>>             responses = {
>>>                             @ApiResponse(responseCode = "500",
>>> description = "Could not update service"),
>>>                             @ApiResponse(responseCode = "200",
>>> description = "Successfully updated service")}
>>>         )
>>>     public Response updateService(@Parameter(schema = @Schema(type =
>>> "file", format = "binary", description = "descriptor") ) Attachment
>>> descriptor,
>>>     @Parameter(description = "service name ", required = true)
>>> @PathParam("servicename) String servicename,
>>>     @Parameter(description = "service id", required = true)
>>> @PathParam("serviceid") String serviceid) {
>>>
>>> Regards,
>>> Irfan
>>>
>>> On Tue, Sep 4, 2018 at 7:39 PM Andriy Redko <[email protected]> wrote:
>>>
>>>> Hi Irfan,
>>>>
>>>> Thanks a lot for the feedback.
>>>>
>>>> 1) Would you mind providing a short snippet of endpoint definition +
>>>> OpenAPI annotations? (beside just @Schema)
>>>> 2) I think the only way to have an example through Java annotations is
>>>> to use formatted JSON as plain old String. It would be a good question to
>>>> Swagger guys (https://swagger.io/forum/) actually.
>>>>
>>>> Thank you.
>>>>
>>>> Best Regards,
>>>>     Andriy Redko
>>>>
>>>> IP> Hi,
>>>>
>>>> IP> I have been CXF Framework for OpenAPI and its been very easy to use
>>>> so far.
>>>> IP> I have few questions where I am not finding proper
>>>> documentation/examples
>>>> IP> on how to do it. It would be great, if you can help me figuring out
>>>> what
>>>> IP> seems to be happening.
>>>>
>>>>
>>>> IP> 1. To perform a file upload for the type
>>>> org.apache.cxf.jaxrs.ext.multipart
>>>> IP> *.Attachment,  *I added the following schema and the content-type is
>>>> IP> "MULTIPART_FORM_DATA", but I am still seeing the $ref in my
>>>> open-api.json
>>>> IP> as "*#/components/schemas/Attachment*" which is a JSONObject.
>>>> IP>     @Schema(type = "file", format = "binary", description =
>>>> "descriptor") )
>>>>
>>>> IP> Is there a valid schema for Attachment type ?
>>>>
>>>> IP> 2.  Is there a way to provide a formatted JSONObject as an example
>>>> instead
>>>> IP> of defining a string in the @Schema object ? I see lot of examples
>>>> with
>>>> IP> Swagger where they show the example as valid JSONObject, but not
>>>> sure how
>>>> IP> they would do that with constants.
>>>>
>>>> IP> Thank you in advance !
>>>>
>>>> IP> Regards,
>>>> IP> Irfan
>>>>
>>>>
>>>
>>> --
>>> irfan..........................
>>>
>>
>
> --
> irfan..........................
>

Reply via email to