2014-11-16 16 views
0

나는 다음과 같은 ...Grails를 사용하여 RESTish 서비스를 만들려고하는데, Grails 커맨드 객체가 삭제를 위해 제대로 연결되지 않았습니다.

def delete(Question q){ 
    def text = request.reader.text; 
    def slurper = new JsonSlurper(); 
    def result = slurper.parseText(text) 
    println "Request body is ${text} but the parsed version has a text of ${q.text} whereas the slurper gives me ${result as JSON}" 
    render noteService.delete(result.key) 
} 

이 나에게의 출력을 제공합니다 ...

Request body is {"text":"Test Text","desc":"Test Desc","voteCount":0,"key":0} but the parsed version has a text of null whereas the slurper gives me {"desc":"Test Desc","key":0,"text":"Test Text","voteCount":0} 

가 왜 제대로 배선이되지 있나요? 명령 객체는 다음과 같습니다 ...

@Validateable 
class Question { 
    Integer key 
    String text 
    String desc 
    Integer voteCount 
} 

삭제 요청이 후드 등에서 GET입니까? 다른 형식을 기대합니까?

업데이트

만들기 (POST) 요청 나를는 Restangular 호출하고 (어떤 Grails의 기대 사이의 차연과 뭔가 믿는지도하는 미세 배선되고 그래서 난 내 요청 유형의 추측이있을 것 같아요 권리). 내 restangular 코드는

this.delete = function(index) { 
    var questionToUpdate = _this.questions[index]; 
    questionToUpdate.remove(); 
} 

또한뿐만 아니라 갱신 (넣어) 실패 보인다 ... 단순히

Grails의 버전은 2.4.3

+0

'Question'이 도메인 클래스가 아니면 POST 요청과 GET 요청에 대해 데이터 바인딩이 달라야합니다. 그것은'@ Validateable'로 표시되어 있기 때문에 도메인 클래스가 아니길 기대합니다. 그 맞습니까? –

+0

맞습니다. 실제로이 전체 프로젝트는 단지 ConcurrentHashMap을 DB로 사용하지 않습니다. 전체 프로젝트는 여기에서 찾을 수 있습니다 ... https://github.com/jrgleason/ngGrails – Jackie

+0

해당 앱을 실행하고 문제의 행동을 재현하려면 어떤 단계가 필요합니까? –

답변

0

문제가 있었다입니다 명령의 구문 분석의 request.reader.text 회전 사물.

관련 문제