diff --git a/spring-restdocs-core/src/main/java/org/springframework/restdocs/payload/PayloadDocumentation.java b/spring-restdocs-core/src/main/java/org/springframework/restdocs/payload/PayloadDocumentation.java index 9a552c92..49456a11 100644 --- a/spring-restdocs-core/src/main/java/org/springframework/restdocs/payload/PayloadDocumentation.java +++ b/spring-restdocs-core/src/main/java/org/springframework/restdocs/payload/PayloadDocumentation.java @@ -21,6 +21,8 @@ import java.util.Arrays; import java.util.List; import java.util.Map; +import org.springframework.restdocs.snippet.Attributes; + /** * Static factory methods for documenting a RESTful API's request and response payloads. * @@ -452,6 +454,7 @@ public abstract class PayloadDocumentation { pathPrefix + descriptor.getPath()) .description(descriptor.getDescription()) .type(descriptor.getType()); + prefixedDescriptor.attributes(convertAttributesToArray(descriptor.getAttributes())); if (descriptor.isIgnored()) { prefixedDescriptor.ignored(); } @@ -463,4 +466,12 @@ public abstract class PayloadDocumentation { return prefixedDescriptors; } + private static Attributes.Attribute[] convertAttributesToArray(Map attributes) { + List attributesAsList = new ArrayList<>(); + for (Map.Entry entry : attributes.entrySet()) { + attributesAsList.add(Attributes.key(entry.getKey()).value(entry.getValue())); + } + return attributesAsList.toArray(new Attributes.Attribute[] {}); + } + }