2014-10-24 15 views
0

업데이트 : 코드가 변경되었습니다. Groovier XDGrails 커맨드 객체에 선택적 요청 매개 변수를 어떻게 지정합니까?

제목과 마찬가지로.

class HeyController { 
    def doSomething(MyCommand mc) { 
     render [result: mc] as JSON 
    } 
} 

참고 난 단지 원하는 : 나는 또한 GET 요청을 받으면 내 명령 개체의 새 인스턴스를 채우기 위해 시도하는 컨트롤러가

@Validateable 
class MyCommand { 
    String myProperty1 
    String myProperty2 
    String myProperty3 
    static constraints = { 
     myProperty1(blank: false) 
    } 
} 

그리고 : I 명령 객체가 있다고 가정 이 예제에서 myProperty1을 필수 매개 변수로 만드십시오 (즉, myProperty2myProperty3을 선택적 요청 매개 변수로 사용하고 싶습니다). 그러나, 나는이 요청에 던져 :

http://myappserver:8080/app/hey/doSomething?myProperty1=foo 

Grails는 여전히 myProperty2myProperty3null 값이 불평 할 것이다.

그래서 내가 뭘 잘못하고 있니? 감사!

+0

Grails의 버전은 무엇입니까? 2.4. * 인 경우 prop2 및 prop3에 대한 제약 조건을 nullable : true로 지정해야합니다. 이는 기본적으로 명령 객체와 마찬가지로 도메인 클래스에서 false이기 때문입니다. – dmahapatro

+0

@dmahapatro 어떤 차이가 있습니까? 나는'nullable : true'가 영원히 주변에 있었다고 생각합니다. 영원히 –

+0

@ Donald 네. 내 업데이트 된 댓글보기. 이 기본 동작은 최근에 추가되었습니다. – dmahapatro

답변

1
@Validateable 
class MyCommandObject { 
    String myProperty1 
    String myProperty2 
    String myProperty3 


    static constraints = { 

     myProperty2 nullable: true 
     myProperty3 nullable: true 
    } 
} 
관련 문제