레일스에서 구현 된 RESTful API를 사용하면 ActiveModel::Validations
에 의해 생성 된 오류 메시지뿐만 아니라 사용자 정의 오류 코드도 응답에 포함하고자합니다. 우선 나는 HTTP Status codes에 대해 이야기하고 있지 않다는 것을 지적하고자합니다. 나는 record not found
과 같은 일반적인 오류에서부터 username can't be blank
과 같은 작은 유효성 검사 오류에 이르기까지 모든 종류의 오류가 사용자 지정 응용 프로그램 관련 오류 코드 인 고유 한 숫자 코드에 매핑되는 것에 대해 이야기하고 있습니다. 저를 예를 들어 보겠습니다 - 같은 오류 코드의 목록 주어진 : 나는 사용자에 대한 양식을 가지고 첫 번째와 마지막 이름의 빈 필드로 제출하면Rails API에서 사용자 정의 오류 코드를 반환하는 방법은 무엇입니까?
1: record not found
... some other errors
# Validation errors for User model between 1000 to 2000
1001: first name can't be blank
1002: first name must contain at least 3 characters
1003: last name can't be blank
1004: last name must contain at least 3 characters
...some other errors
, 내가 응답 본문에 갖고 싶어 같은 뭔가 :
{error_codes: [1001, 1002, 1003, 1004]}
또는 이와 유사한 (예를 들어 나는 사용자 등 코드, 개발자를위한 메시지, 메시지 error objects, 각각의 배열을 가질 수있다). 나를 RESTful API Design: what about errors?에서 촬영 Twilio의 API로 예를 들어 보겠습니다 : 여기
, 20003은 일부 사용자 지정 Twilio 특정 코드입니다. 문제는 - 이것이 레일스에서 어떻게 구현 될 수 있는가하는 것입니다. 몇 가지 어려운 점이 있습니다.
- 발생할 수있는 모든 오류 목록을 어떻게 얻을 수 있습니까? 발생할 수있는 다른 유형의 오류는 말할 것도없고 유효성 검사 오류에 대해서만 그런 목록을 얻는 것은 어렵습니다.
- 이 목록을 어떻게 구성해야합니까 - 아마 YAML 파일에 있습니까?
- 목록에 액세스하려면 어떻게해야합니까?
I18n.t
을 통해 번역 방법에 액세스하는 것과 비슷한 방법일까요?
정말 이에 대한 조언을드립니다. 고맙습니다.
P. 나는 이것이 similar question이라고 생각합니다.