2015-11-28 6 views
0

Я делаю запрос от Android до контроллера Grails. Запрос изменения данных в базе данных, но сервер Grails возвращает ошибку:Запрос Grails HTTBuilder Ошибка

2015-11-28 19:23:31,973 [http-bio-8080-exec-5] ERROR errors.GrailsExceptionResolver - MissingPropertyException occurred when processing request: [POST] /ServerReg/saveReg/regSave 
No such property: success for class: org.apache.catalina.connector.ResponseFacade. Stacktrace follows: 
Message: No such property: success for class: org.apache.catalina.connector.ResponseFacade 

мой контроллер Grails:

def saveRegLink = new HTTPBuilder("http://db.likepay.me:80/rest/checkReg/registration/?fields=id"); 
saveRegLink.request(POST, JSON) { req -> 
    headers.'X-DreamFactory-Session-Token' = session_id 
    headers.'X-DreamFactory-Application-Name' = serviceName 
    body = [ 
     telNum: telNum, 
     IMEI: IMEI, 
     DeviceName: DeviceName, 
     SIM_SN: SIM_SN 
    ] 
} 
response.success = {resp, json -> 
    println resp.status 
    render json 
    return json 
} 
response.failure = { resp -> 
    println 'request failed' 
    assert resp.status >= 400 
} 

Буду благодарен за помощь.

ответ

1

У вас есть response.success/response.failure, который находится за пределами затвора, который передается методу request.

Это должно быть что-то вроде этого:

def saveRegLink = new HTTPBuilder("http://db.likepay.me:80/rest/checkReg/registration/?fields=id"); 
saveRegLink.request(POST, JSON) { req -> 
    headers.'X-DreamFactory-Session-Token' = session_id 
    headers.'X-DreamFactory-Application-Name' = serviceName 
    body = [ 
     telNum: telNum, 
     IMEI: IMEI, 
     DeviceName: DeviceName, 
     SIM_SN: SIM_SN 
    ] 

    response.success = {resp, json -> 
     println resp.status 
     render json 
     return json 
    } 
    response.failure = { resp -> 
     println 'request failed' 
     assert resp.status >= 400 
    } 
} 
Смежные вопросы