Annotate with swagger for Multipart/form-data

Viewed 1704

I’m using Swagger 2.0 and OpenAPI 3 for my project. I want to annotate endpoints for Multipart/form-data request input(attaches 2 files, payload and metadata) where one file could be xml or json and another should be strictly in json. I tried following code, While parsing the input, getting MediaType of both files are String. Also, I want to put customized header info i.e. “UserID”=”xyz321”

class Employee{
                @Post
                @Path("/update")
                @Operation(summary="upload a file", description="it's multipart input request",
                requestBody=@RequestBody(
                                content=
                                     @Content( mediaType="multipart/form-data",
                                     schema=@Schema(implementation=MultiRequest.class),
                                     encoding=@Encoding(
                                     name="payload",
                                     contentType="application/json, application/xml"))))
                Response updateEmpRecords(MultiPart multiPart){
                //business logics
                String ID=?;//get User ID from header of the request
                return null;
                }


                 }

    classMultiRequest {
        @Schema(type = "string", format = "binary", description = "payload")
        public String file;
        @Schema(description = "metadata")
        public MetaData metadata;
}
0 Answers
Related