Include optional attribute in model for path and req param descriptors

This commit is contained in:
Andy Wilkinson
2016-05-05 09:48:11 +01:00
parent 5b32a3aa98
commit 1c95232e67
4 changed files with 35 additions and 0 deletions

View File

@@ -189,6 +189,7 @@ public abstract class AbstractParametersSnippet extends TemplatedSnippet {
Map<String, Object> model = new HashMap<>();
model.put("name", descriptor.getName());
model.put("description", descriptor.getDescription());
model.put("optional", descriptor.isOptional());
model.putAll(descriptor.getAttributes());
return model;
}

View File

@@ -163,6 +163,25 @@ public class RequestParametersSnippetTests extends AbstractSnippetTests {
.build());
}
@Test
public void requestParametersWithOptionalColumn() throws IOException {
TemplateResourceResolver resolver = mock(TemplateResourceResolver.class);
given(resolver.resolveTemplateResource("request-parameters"))
.willReturn(snippetResource("request-parameters-with-optional-column"));
this.snippet.expectRequestParameters("request-parameters-with-optional-column")
.withContents(tableWithHeader("Parameter", "Optional", "Description")
.row("a", "true", "one").row("b", "false", "two"));
new RequestParametersSnippet(Arrays.asList(
parameterWithName("a").description("one").optional(),
parameterWithName("b").description("two"))).document(
operationBuilder("request-parameters-with-optional-column")
.attribute(TemplateEngine.class.getName(),
new MustacheTemplateEngine(resolver))
.request("http://localhost").param("a", "alpha")
.param("b", "bravo").build());
}
@Test
public void additionalDescriptors() throws IOException {
this.snippet.expectRequestParameters("additional-descriptors")

View File

@@ -0,0 +1,10 @@
|===
|Parameter|Optional|Description
{{#parameters}}
|{{name}}
|{{optional}}
|{{description}}
{{/parameters}}
|===

View File

@@ -0,0 +1,5 @@
Parameter | Optional | Description
--------- | -------- | -----------
{{#parameters}}
{{name}} | {{optional}} | {{description}}
{{/parameters}}