Forum Discussion

richie's avatar
richie
Community Hero
3 years ago

Write Out full Response to an external file?

Hey!

 

I need a little help if that's ok - one of my APIs returns the full openAPI definition as the response to one of my requests.

 

I'm trying to write out the contents of the response to a file (i.e. latestOpenAPI.json), so that I can then load it into swagger editor - but I'm getting "no signature of method" on the file write.  I've spent the last hour tinkering with it - and I can't get it to work - would someone be able to have a look and indicate where I'm going wrong please?

 

import groovy.json.JsonSlurper
import java.io.File

def resp = context.expand( '${REST Request#Response}' ).toString();
def response = new JsonSlurper().parseText(resp);

new File("D:/OAS/latestOpenAPI.json").write( response )
    

 

The above is what I've got so far.....

 

Cheers!

 

Rich

  • Hi,

     

    This works for me....

    import groovy.json.JsonSlurper
    import java.io.File;
    
    def resp = context.expand( '${Some Request#Response}' ).toString();
    def response = new JsonSlurper().parseText(resp);
    
    log.info(response.toString());
    
    // I'm on Windows, escape the double backslash
    File myFile = new File("c:\\Temp\\json2.json");
    
    // Reponse might 'log', but its not a string.  Stringify it.
    myFile.write(response.toString());
  • ChrisAdams's avatar
    ChrisAdams
    Champion Level 3

    Hi,

     

    This works for me....

    import groovy.json.JsonSlurper
    import java.io.File;
    
    def resp = context.expand( '${Some Request#Response}' ).toString();
    def response = new JsonSlurper().parseText(resp);
    
    log.info(response.toString());
    
    // I'm on Windows, escape the double backslash
    File myFile = new File("c:\\Temp\\json2.json");
    
    // Reponse might 'log', but its not a string.  Stringify it.
    myFile.write(response.toString());