Merge branch '1.1.x'

This commit is contained in:
Andy Wilkinson
2016-10-25 11:36:03 +01:00
2 changed files with 107 additions and 1 deletions

View File

@@ -21,6 +21,9 @@ import java.util.Arrays;
import java.util.List;
import java.util.Map;
import org.springframework.restdocs.snippet.Attributes;
import org.springframework.restdocs.snippet.Attributes.Attribute;
/**
* Static factory methods for documenting a RESTful API's request and response payloads.
*
@@ -451,7 +454,8 @@ public abstract class PayloadDocumentation {
FieldDescriptor prefixedDescriptor = new FieldDescriptor(
pathPrefix + descriptor.getPath())
.description(descriptor.getDescription())
.type(descriptor.getType());
.type(descriptor.getType())
.attributes(asArray(descriptor.getAttributes()));
if (descriptor.isIgnored()) {
prefixedDescriptor.ignored();
}
@@ -463,4 +467,13 @@ public abstract class PayloadDocumentation {
return prefixedDescriptors;
}
private static Attribute[] asArray(Map<String, Object> attributeMap) {
List<Attributes.Attribute> attributes = new ArrayList<>();
for (Map.Entry<String, Object> attribute : attributeMap.entrySet()) {
attributes
.add(Attributes.key(attribute.getKey()).value(attribute.getValue()));
}
return attributes.toArray(new Attribute[attributes.size()]);
}
}