2010-04-07 3 views
5

Grails 요청의 본문 내용을 읽으려고하는데 grails.mime.types를 주석 처리했지만 요청을 params에 매핑합니다. 또한 grails.mime.types를 빈 맵으로 설정하려고 시도했지만 아직 매핑 중입니다.Grails에서 POST의 본문 내용에 액세스하려면 어떻게해야합니까?

본문 내용은 xml이며 Grails가 매핑하면 본문은 "<? xml version"이됩니다. 안타깝게도 POST를 전송하는 시스템에서 콘텐츠 유형을 application/x-www-form-urlencoded으로 설정하고 있습니다. 나는 그들을 바꾸는 것에 대한 통제권이 없다.

Grails 1.2.1을 실행 중입니다.

또한 UrlMappings에 format = "xml"을 설정하고 xml mime.types에 양식 콘텐츠 유형을 추가했지만 그 중 하나도 도움이되지 않았습니다. 그리고 request.reader에 접근하려고하면 그것은 비어 있습니다.

답변

0

매핑에 'parseRequest'를 사용하도록 설정하십시오.

docs : "URL 매핑에서 parseRequest 인수를 지정하지 않으면 Grails에서 자동 XML 또는 JSON 마샬링을 제공하지 않습니다."

+0

웹 페이지가 변경되었을 것입니다. "parseRequest"를 검색하면 아무 것도 얻을 수 없습니다. –

+0

주어진 URL이 가리키는 페이지에는 "parseRequest"가 없습니다. – Jason

0

도메인 객체에 비 정렬 화 XML을 필요없이 직접 대신 request.reader에 액세스하려면, 다음과 같이 parseRequest을 끄십시오 :

클래스 UrlMappings {

static mappings = { 
    "/$controller/$action?/$id?"(parseRequest:false){ 
     constraints { 
      // apply constraints here 
     } 
    } 

    "/"(view:"/index") 
    "500"(view:'/error') 
} 

}

다음 해결책을 얻었습니다. http://margotskapacs.com/2013/04/request-automatic-parsing-in-grails/

관련 문제