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
'Question'이 도메인 클래스가 아니면 POST 요청과 GET 요청에 대해 데이터 바인딩이 달라야합니다. 그것은'@ Validateable'로 표시되어 있기 때문에 도메인 클래스가 아니길 기대합니다. 그 맞습니까? –
맞습니다. 실제로이 전체 프로젝트는 단지 ConcurrentHashMap을 DB로 사용하지 않습니다. 전체 프로젝트는 여기에서 찾을 수 있습니다 ... https://github.com/jrgleason/ngGrails – Jackie
해당 앱을 실행하고 문제의 행동을 재현하려면 어떤 단계가 필요합니까? –