Grails消耗JSON响应。

时间:2016-12-09 20:45:29

标签: ajax grails

我正在尝试创建一个restful服务,我正在尝试使用我的JSON响应并将其转换回Object。

控制器方法

def mergeVendors(String region) {

    def report = new VendorReport();
    //do something with  report

    response.status = 201
    response ([vendorReport: report]) as JSON
}

测试方法

void "Test Merge Vendors"() {
    when:       
    controller.request.method = 'POST'
    controller.request.json = '[{id:1, zip:"14224"}]'

    controller.mergeVendors("Florida")

    def response =  controller.response


    then:
    response.zip == "14224"
}

上面的代码是我正在尝试使用的,我得到以下异常。如何将响应转发回VendorReport obj?

groovy.lang.MissingMethodException:没有方法签名:org.healthresearch.VendorController.response()适用于参数类型:(java.util.LinkedHashMap)值:[[vendorReport:org.vendor.VendorReport@1b0dbdf1] ] 可能的解决方案:响应(java.lang.Object),getResponse(),响应(java.lang.Object,java.util.Map),响应(java.util.Map,java.lang.Object),respondsTo(java。 lang.String),respondsTo(java.lang.String,[Ljava.lang.Object;)

1 个答案:

答案 0 :(得分:3)

response ([vendorReport: report]) as JSON

更改为

render ([vendorReport: report]) as JSON