레일즈의 Apipie 질문드립니다


레일즈를 이용한 REST 서버 구축중에 API Document를 제공하기 위해서

apipie라는 것을 알게 되어서 사용중인데

이게 파라메터 항목중에 require: true를 가진 api를 호출할때 해당 인자가 없으면

알아서 에러를 던져주더군요.

그런데 이 에러가

{"errors":{"#\u003cApipie::ParamDescription:0x00000003541408\u003e":"required"}}

이렇게 뜨는데 저 객체를 그대로 찍는 부분을 어떻게 커스텀 할 수 없는지 궁금합니다.

익셉션을 캐치하는 코드는 다음과 같습니다.

  rescue_from Apipie::ParamError do |e|
    error = e.error rescue "required"
    json = {
      e.param => error
    }
    render status: 400, json: {
      errors: json
    }
  end
  • 2016년 05월 08일에 작성됨

  • json = { e.param => error } 이 라인에서 e.param 이 부분이 해당 객체 부분인데, 어떻게 커스텀 하고자 하시는건가요?    김현일 (Kevin Kim)   2016.5.8 17:49     
  • inspect로 찍어보니까 내용이 많던데 그중에서 메세지만 이쁘게 뽑고싶은데 어떻게 해야할지 잘 모르겠네요 ;;    파츠군   2016.5.9 10:17     
조회수 196


1 답변


정확히 어떻게 커스터마이징 하신다는건지 이해가 잘안되지만..

json = {
    error: "에러입니다" 
}

혹은

render status: 400, json: {
        error:  "#{e.param}은 필수로 있어야 합니다."
    }

이런식으로 커스터마이징 하면 되는것 아닌지요..;

  • 2016년 05월 09일에 작성됨
    안드로이드, 루비온레일즈

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close