명령 객체와 데이터 바인딩에 관한 문서에 따르면. 일단 params 객체를 읽으면, 그 객체는 결코 다시 재사용 될 수 없습니다. 문서에서Grails : 닦아내지 않고 요청 매개 변수에 액세스하기
: 명령에 요청 바디 바인딩
는 요청의 본문은 그 일을하게 해석되는 것을 http://grails.org/doc/2.3.x/guide/theWebLayer.html#commandObjects
참고 개체. 그 이후에 요청 본문을 읽으려는 시도는 해당 입력 스트림이 비어 있기 때문에 실패합니다. 컨트롤러 동작은 명령 객체를 사용할 수도 있고 요청의 본문을 직접 (request.JSON과 같은 것을 참조하여) 파싱 할 수도 있지만 둘 다 수행 할 수는 없습니다.
필터 (컨트롤러가 요청되기 전에 치는) 내에서 매개 변수를 보려고합니다. 로그에 매개 변수를 로깅하면 컨트롤러가 null 매개 변수 개체를 가져 오게됩니까? 해당되는 것으로 보이는 문서에서. 그러나 필터에서 필터를 지우지 않고 매개 변수에 액세스하려면 어떻게해야합니까?
요청 본문을 요청 매개 변수와 혼동시킬 수 있습니다. 본문은'InputStream'이므로 한번 읽으면 스트림의 끝에 있으므로 다시 읽을 수 없습니다. 요청 매개 변수는 이해할 수있는만큼 반복적으로 액세스 할 수 있습니다. –