티스토리 뷰
이를 Grape에서는 "중첩 된 매개 변수의 유효성 검사"라고합니다. 당신의 코드에서 실제로 요구했다 user
선택적 매개 변수를 포함하는 해시 email
, first_name
, last_name
그리고 phone_number
당신이 찾고 있던 그래서 정확히 무엇.
블록, 그룹, 필수 및 선택으로 배열 또는 해시 일 수있는 추가 옵션 유형을 승인하고 기본값은 배열입니다. 값에 따라 중첩 된 매개 변수는 해시 값 또는 배열의 해시 값으로 처리됩니다.
출처 : https://github.com/ruby-grape/grape#validation-of-nested-parameters
따라서 귀하의 경우에는 다음과 같이 매개 변수를 설명해야합니다.
params do
optional :users, type: Array do
optional :email, type: String, desc: "user email"
optional :first_name, type: String, desc: "user first name"
optional :last_name, type: String, desc: "user last name"
optional :phone_number, type: String, desc: "user phone number"
end
# ...
# any other params
# ...
end
따라서 배열의 각 항목은 주어진 블록의 필드와 일치 할 것으로 예상됩니다.
출처
https://stackoverflow.com/questions/39969992
댓글