July 15, 2014

How to self-document Using Spring

I've rediscovered my love affair with Spring. The following code will list whatever endpoints your controller has in JSON:

@RequestMapping(value = "/endpoints", method = RequestMethod.GET)
 public String getEndPointsInView() {
     return requestMappingHandlerMapping.getHandlerMethods().keySet().toString();
 }
Now, to visualise JSON using jython:
import json
import logging
import optparse
import urllib2
from javax.swing import JFrame, JScrollPane, JTable
from javax.swing.table import DefaultTableModel

if __name__ == '__main__':
    parser = optparse.OptionParser()
    parser.add_option('-u', '--url', action='store')
    parser.add_option('-v', '--verbose', action='store_true', dest='verbose')
    parsed = parser.parse_args()
    if parsed[0].verbose:
        logging.basicConfig(level=logging.DEBUG)
    else:
        logging.basicConfig()

    json_url = urllib2.urlopen(parsed[0].url)
    host = parsed[0].url[:parsed[0].url.rindex('/')]
    json_source = json_url.read()
    logging.debug(json_source)
    table_data = json.loads(json_source)
    logging.debug(table_data)

    model = DefaultTableModel(table_data)
    tbl = JTable(model)
    scrollable = JScrollPane(tbl)
    
    frame = JFrame('Methods for {}'.format(host))
    frame.add(scrollable)
    frame.pack()
    frame.defaultCloseOperation = JFrame.EXIT_ON_CLOSE
    frame.visible = True

No comments:

Post a Comment