headers) {
+ return status >= 400;
+ }
+
+ @Override
+ public ApiException toThrowable(Response response) {
+ return new ApiException(response);
+ }
+}
diff --git a/samples/server/petstore/java-microprofile/src/main/java/org/openapitools/server/api/PetApi.java b/samples/server/petstore/java-microprofile/src/main/java/org/openapitools/server/api/PetApi.java
new file mode 100644
index 000000000000..2ca0851ef231
--- /dev/null
+++ b/samples/server/petstore/java-microprofile/src/main/java/org/openapitools/server/api/PetApi.java
@@ -0,0 +1,136 @@
+/**
+ * OpenAPI Petstore
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ * The version of the OpenAPI document: 1.0.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package org.openapitools.server.api;
+
+import java.io.File;
+import org.openapitools.server.model.ModelApiResponse;
+import org.openapitools.server.model.Pet;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.MediaType;
+import org.apache.cxf.jaxrs.ext.multipart.*;
+import io.smallrye.mutiny.Uni;
+
+
+import org.eclipse.microprofile.rest.client.annotation.RegisterProvider;
+import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
+
+/**
+ * OpenAPI Petstore
+ *
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ */
+
+@RegisterProvider(ApiExceptionMapper.class)
+@Path("/pet")
+public interface PetApi {
+
+ /**
+ * Add a new pet to the store
+ *
+ *
+ *
+ */
+ @POST
+
+ @Consumes({ "application/json", "application/xml" })
+ @Produces({ "application/xml", "application/json" })
+ Uni addPet(Pet pet) throws ApiException, ProcessingException;
+
+ /**
+ * Deletes a pet
+ *
+ *
+ *
+ */
+ @DELETE
+ @Path("/{petId}")
+ Uni deletePet(@PathParam("petId") Long petId, @HeaderParam("api_key") String apiKey) throws ApiException, ProcessingException;
+
+ /**
+ * Finds Pets by status
+ *
+ * Multiple status values can be provided with comma separated strings
+ *
+ */
+ @GET
+ @Path("/findByStatus")
+ @Produces({ "application/xml", "application/json" })
+ Uni> findPetsByStatus(@QueryParam("status") List status) throws ApiException, ProcessingException;
+
+ /**
+ * Finds Pets by tags
+ *
+ * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
+ *
+ * @deprecated
+ */
+ @Deprecated
+ @GET
+ @Path("/findByTags")
+ @Produces({ "application/xml", "application/json" })
+ Uni findPetsByTags(@QueryParam("tags") List tags) throws ApiException, ProcessingException;
+
+ /**
+ * Find pet by ID
+ *
+ * Returns a single pet
+ *
+ */
+ @GET
+ @Path("/{petId}")
+ @Produces({ "application/xml", "application/json" })
+ Uni getPetById(@PathParam("petId") Long petId) throws ApiException, ProcessingException;
+
+ /**
+ * Update an existing pet
+ *
+ *
+ *
+ */
+ @PUT
+
+ @Consumes({ "application/json", "application/xml" })
+ @Produces({ "application/xml", "application/json" })
+ Uni updatePet(Pet pet) throws ApiException, ProcessingException;
+
+ /**
+ * Updates a pet in the store with form data
+ *
+ *
+ *
+ */
+ @POST
+ @Path("/{petId}")
+ @Consumes({ "application/x-www-form-urlencoded" })
+ Uni updatePetWithForm(@PathParam("petId") Long petId, @Multipart(value = "name", required = false) String name, @Multipart(value = "status", required = false) String status) throws ApiException, ProcessingException;
+
+ /**
+ * uploads an image
+ *
+ *
+ *
+ */
+ @POST
+ @Path("/{petId}/uploadImage")
+ @Consumes({ "multipart/form-data" })
+ @Produces({ "application/json" })
+ Uni uploadFile(@PathParam("petId") Long petId, @Multipart(value = "additionalMetadata", required = false) String additionalMetadata, @Multipart(value = "file" , required = false) Attachment _fileDetail) throws ApiException, ProcessingException;
+}
diff --git a/samples/server/petstore/java-microprofile/src/main/java/org/openapitools/server/api/StoreApi.java b/samples/server/petstore/java-microprofile/src/main/java/org/openapitools/server/api/StoreApi.java
new file mode 100644
index 000000000000..2dea0b817a57
--- /dev/null
+++ b/samples/server/petstore/java-microprofile/src/main/java/org/openapitools/server/api/StoreApi.java
@@ -0,0 +1,86 @@
+/**
+ * OpenAPI Petstore
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ * The version of the OpenAPI document: 1.0.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package org.openapitools.server.api;
+
+import org.openapitools.server.model.Order;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.MediaType;
+import org.apache.cxf.jaxrs.ext.multipart.*;
+import io.smallrye.mutiny.Uni;
+
+
+import org.eclipse.microprofile.rest.client.annotation.RegisterProvider;
+import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
+
+/**
+ * OpenAPI Petstore
+ *
+ * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
+ *
+ */
+
+@RegisterProvider(ApiExceptionMapper.class)
+@Path("/store")
+public interface StoreApi {
+
+ /**
+ * Delete purchase order by ID
+ *
+ * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
+ *
+ */
+ @DELETE
+ @Path("/order/{orderId}")
+ Uni deleteOrder(@PathParam("orderId") String orderId) throws ApiException, ProcessingException;
+
+ /**
+ * Returns pet inventories by status
+ *
+ * Returns a map of status codes to quantities
+ *
+ */
+ @GET
+ @Path("/inventory")
+ @Produces({ "application/json" })
+ Uni