Thank you Andriy, I understand it now. Thank you very much for your time. On Wed, Sep 5, 2018 at 12:10 PM Andrey Redko <[email protected]> wrote:
> 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.......................... >> >
