diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java
index 9f063bef496bcdf08c73267e6ea02e87eeaf2ba6..813a448da9f0e1b1b9837226d519b3b91b998d49 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java
@@ -4035,9 +4035,7 @@ public class DefaultCodegen implements CodegenConfig {
         }
 
         r.message = escapeText(response.getDescription());
-        // TODO need to revise and test examples in responses
-        // ApiResponse does not support examples at the moment
-        //r.examples = toExamples(response.getExamples());
+        r.examples = toExamples(response.getContent());
         r.jsonSchema = Json.pretty(response);
         if (response.getExtensions() != null && !response.getExtensions().isEmpty()) {
             r.vendorExtensions.putAll(response.getExtensions());
@@ -4668,6 +4666,37 @@ public class DefaultCodegen implements CodegenConfig {
         return output;
     }
 
+    @SuppressWarnings("static-method")
+    protected List<Map<String, Object>> toExamples(Content content) {
+        if (content == null || content.isEmpty()) {
+            return null;
+        }
+
+        int totalExamples = 0;
+        for (Map.Entry<String, MediaType> entry : content.entrySet()) {
+            if (entry.getValue().getExamples() != null) {
+               totalExamples += entry.getValue().getExamples().size();
+            }
+        }
+
+        if (totalExamples == 0) {
+            return null;
+        }
+
+        final List<Map<String, Object>> output = new ArrayList<Map<String, Object>>(totalExamples);
+        for (Map.Entry<String, MediaType> entry : content.entrySet()) {
+            if (entry.getValue().getExamples() != null) {    
+                for (Map.Entry<String, Example> exampleEntry : entry.getValue().getExamples().entrySet()) {
+                    final Map<String, Object> kv = new HashMap<String, Object>();
+                    kv.put("contentType", entry.getKey());
+                    kv.put("example", exampleEntry.getValue().getValue());
+                    output.add(kv);
+                }
+            }
+        }
+        return output;
+    }
+
     /**
      * Add headers to codegen property
      *
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AsciidocDocumentationCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AsciidocDocumentationCodegen.java
index db3b11e426734249b467db66a09a11b530673791..a388f9fdec54e10fb9aae840855944c516e7d0fc 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AsciidocDocumentationCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AsciidocDocumentationCodegen.java
@@ -37,6 +37,8 @@ import com.samskivert.mustache.Template;
 
 import io.swagger.v3.oas.models.OpenAPI;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
+
 /**
  * basic asciidoc markup generator.
  *
@@ -149,6 +151,35 @@ public class AsciidocDocumentationCodegen extends DefaultCodegen implements Code
         }
     }
 
+    /**
+     * Lamda emitting a formatted asciidoc code example. Use:
+     * 
+     * <pre>
+     * {{#snippetformatexample}}{{example}}{{/snippetformatjsonexample}}
+     * </pre>
+     */
+    public class FormatExampleMarkupLambda implements Mustache.Lambda {
+        
+        @Override
+        public void execute(final Template.Fragment frag, final Writer out) throws IOException {
+            final String content = frag.execute();
+
+            out.write("[source");
+
+            if (content.length() > 0 && content.charAt(0) == '{') {
+                // Assume it is JSON
+                out.write(",json]\n----\n");
+                ObjectMapper mapper = new ObjectMapper();
+                mapper.writerWithDefaultPrettyPrinter().writeValue(out, mapper.readTree(content));
+            } else {
+                out.write("]\n----\n");
+                out.write(content);
+            }
+
+            out.write("\n----\n");
+        }
+    }
+
     protected String invokerPackage = "org.openapitools.client";
     protected String groupId = "org.openapitools";
     protected String artifactId = "openapi-client";
@@ -162,6 +193,7 @@ public class AsciidocDocumentationCodegen extends DefaultCodegen implements Code
     private IncludeMarkupLambda includeSpecMarkupLambda;
     private IncludeMarkupLambda includeSnippetMarkupLambda;
     private LinkMarkupLambda linkSnippetMarkupLambda;
+    private FormatExampleMarkupLambda formatExampleMarkupLambda;
 
     public CodegenType getTag() {
         return CodegenType.DOCUMENTATION;
@@ -343,6 +375,9 @@ public class AsciidocDocumentationCodegen extends DefaultCodegen implements Code
         this.linkSnippetMarkupLambda = new LinkMarkupLambda(snippetDir);
         additionalProperties.put("snippetlink", this.linkSnippetMarkupLambda);
 
+        this.formatExampleMarkupLambda = new FormatExampleMarkupLambda();
+        additionalProperties.put("snippetformatexample", this.formatExampleMarkupLambda);
+
         processBooleanFlag(HEADER_ATTRIBUTES_FLAG, headerAttributes);
         processBooleanFlag(USE_INTRODUCTION_FLAG, useIntroduction);
         processBooleanFlag(SKIP_EXAMPLES_FLAG, skipExamples);
diff --git a/modules/openapi-generator/src/main/resources/asciidoc-documentation/index.mustache b/modules/openapi-generator/src/main/resources/asciidoc-documentation/index.mustache
index fcab76298ef10ed80fc3538148cb06c8825f02d5..f9272d01af93f86dc0a9033f17aeae85a627be19 100644
--- a/modules/openapi-generator/src/main/resources/asciidoc-documentation/index.mustache
+++ b/modules/openapi-generator/src/main/resources/asciidoc-documentation/index.mustache
@@ -96,7 +96,7 @@ Operation Id:: {{nickname}}
 ===== Responses
 
 .http response codes
-[cols="2,3,1"]
+[cols="1,2,3a"]
 |===         
 | Code | Message | Datatype 
 
@@ -106,6 +106,14 @@ Operation Id:: {{nickname}}
 | {{message}}
 | {{^simpleType}}{{dataType}}[<<{{baseType}}>>]{{/simpleType}} {{#simpleType}}<<{{dataType}}>>{{/simpleType}}
 
+{{^skipExamples}}
+{{#examples}}
+.{{contentType}}
+{{#snippetformatexample}}{{{example}}}{{/snippetformatexample}}
+
+{{/examples}}
+{{/skipExamples}}
+
 {{/responses}}
 |===