Skip to content

Commit

Permalink
Do not resolve non-model body parameter as inline model
Browse files Browse the repository at this point in the history
  • Loading branch information
xhh committed Nov 26, 2015
1 parent 1fbdb92 commit d250ce3
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,15 @@ public void flatten(Swagger swagger) {
if (bp.getSchema() != null) {
Model model = bp.getSchema();
if(model instanceof ModelImpl) {
String modelName = uniqueName(bp.getName());
ModelImpl obj = (ModelImpl) model;
flattenProperties(obj.getProperties(), pathname);
if (obj.getType() == null || "object".equals(obj.getType())) {
String modelName = uniqueName(bp.getName());
flattenProperties(obj.getProperties(), pathname);

bp.setSchema(new RefModel(modelName));
addGenerated(modelName, model);
swagger.addDefinition(modelName, model);
bp.setSchema(new RefModel(modelName));
addGenerated(modelName, model);
swagger.addDefinition(modelName, model);
}
}
else if (model instanceof ArrayModel) {
ArrayModel am = (ArrayModel) model;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,28 @@ public void resolveInlineBodyParameter() throws Exception {
assertNotNull(impl.getProperties().get("address"));
}

@Test
public void notResolveNonModelBodyParameter() throws Exception {
Swagger swagger = new Swagger();

swagger.path("/hello", new Path()
.get(new Operation()
.parameter(new BodyParameter()
.name("body")
.schema(new ModelImpl()
.type("string")
.format("binary")))));

new InlineModelResolver().flatten(swagger);

Operation operation = swagger.getPaths().get("/hello").getGet();
BodyParameter bp = (BodyParameter)operation.getParameters().get(0);
assertTrue(bp.getSchema() instanceof ModelImpl);
ModelImpl m = (ModelImpl) bp.getSchema();
assertEquals("string", m.getType());
assertEquals("binary", m.getFormat());
}

@Test
public void resolveInlineArrayBodyParameter() throws Exception {
Swagger swagger = new Swagger();
Expand Down

0 comments on commit d250ce3

Please sign in to comment.