diff --git a/web/api/src/main/java/org/onosproject/rest/TopologyWebResource.java b/web/api/src/main/java/org/onosproject/rest/TopologyWebResource.java
index c607d0a..92fc23b 100644
--- a/web/api/src/main/java/org/onosproject/rest/TopologyWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/TopologyWebResource.java
@@ -127,7 +127,7 @@
         for (DeviceId deviceId : deviceIds) {
             devicesNode.add(deviceId.toString());
         }
-        return ok(root).build();
+        return ok(root.toString()).build();
     }
 
     /**
@@ -150,7 +150,7 @@
                 Lists.newArrayList(get(TopologyService.class)
                         .getClusterLinks(topology, cluster));
 
-        return ok(encodeArray(Link.class, "links", links)).build();
+        return ok(encodeArray(Link.class, "links", links).toString()).build();
     }
 
     /**
@@ -201,7 +201,11 @@
         ConnectPoint connectPoint = new ConnectPoint(deviceId, portNumber);
         boolean isBroadcast = get(TopologyService.class).isBroadcastPoint(topology, connectPoint);
 
-        return ok(mapper().createObjectNode().put("broadcast", isBroadcast)).build();
+        return ok(mapper()
+                .createObjectNode()
+                .put("broadcast", isBroadcast)
+                .toString())
+                .build();
     }
 
     /**
@@ -224,7 +228,10 @@
         ConnectPoint connectPoint = new ConnectPoint(deviceId, portNumber);
         boolean isInfrastructure = get(TopologyService.class).isInfrastructure(topology, connectPoint);
 
-        return ok(mapper().createObjectNode().put("infrastructure", isInfrastructure)).build();
+        return ok(mapper()
+                .createObjectNode()
+                .put("infrastructure", isInfrastructure).toString())
+                .build();
     }
 
 }
