Details
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java
index 963c891..20dc70b 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java
@@ -264,8 +264,7 @@ public class AdminResource extends JaxRsResourceBase {
@Produces(APPLICATION_JSON)
@Path("/invoices")
@ApiOperation(value = "Trigger an invoice generation for all parked accounts")
- @ApiResponses(value = {@ApiResponse(code = 204, message = "Successful operation"),
- @ApiResponse(code = 200, message = "Successful operation")})
+ @ApiResponses(value = {@ApiResponse(code = 200, message = "Successful operation")})
public Response triggerInvoiceGenerationForParkedAccounts(@QueryParam(QUERY_SEARCH_OFFSET) @DefaultValue("0") final Long offset,
@QueryParam(QUERY_SEARCH_LIMIT) @DefaultValue("100") final Long limit,
@HeaderParam(HDR_CREATED_BY) final String createdBy,
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/KillBillApiDefinition.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/KillBillApiDefinition.java
index 2346827..079115b 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/KillBillApiDefinition.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/KillBillApiDefinition.java
@@ -29,6 +29,7 @@ import io.swagger.jaxrs.config.ReaderListener;
import io.swagger.models.Model;
import io.swagger.models.Operation;
import io.swagger.models.Path;
+import io.swagger.models.Response;
import io.swagger.models.Swagger;
import io.swagger.models.auth.BasicAuthDefinition;
import io.swagger.models.parameters.BodyParameter;
@@ -86,6 +87,18 @@ public class KillBillApiDefinition implements ReaderListener {
private void decorateOperation(final Operation op, final String pathName, final String httpMethod, final HeaderParameter apiKeyParam, final HeaderParameter apiSecretParam) {
if (op != null) {
+
+ // Bug in swagger ? somehow when we only specify a 201, swagger adds a 200 response with the schema response
+ if (httpMethod.equals("POST")) {
+ if (op.getResponses().containsKey("201") && op.getResponses().containsKey("200")) {
+ final Response resp200 =op.getResponses().remove("200");
+ final Response resp201 = op.getResponses().get("201");
+ if (resp201.getSchema() == null) {
+ resp201.setSchema(resp200.getSchema());
+ }
+ }
+ }
+
op.addSecurity(BASIC_AUTH_SCHEME, null);
if (requiresTenantInformation(pathName, httpMethod)) {
op.addParameter(apiKeyParam);
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/NodesInfoResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/NodesInfoResource.java
index 7467e14..c16907c 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/NodesInfoResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/NodesInfoResource.java
@@ -146,7 +146,7 @@ public class NodesInfoResource extends JaxRsResourceBase {
@Consumes(APPLICATION_JSON)
@Produces(APPLICATION_JSON)
@ApiOperation(value = "Trigger a node command")
- @ApiResponses(value = {@ApiResponse(code = 204, message = "Successful operation"),
+ @ApiResponses(value = {@ApiResponse(code = 202, message = "Successful operation"),
@ApiResponse(code = 400, message = "Invalid node command supplied")})
public Response triggerNodeCommand(final NodeCommandJson json,
@QueryParam(QUERY_LOCAL_NODE_ONLY) @DefaultValue("false") final Boolean localNodeOnly,
@@ -174,7 +174,7 @@ public class NodesInfoResource extends JaxRsResourceBase {
};
killbillInfoApi.triggerNodeCommand(nodeCommand, localNodeOnly);
- return Response.status(Status.NO_CONTENT).build();
+ return Response.status(Status.ACCEPTED).build();
}