2

이 API를 구현 중이며 액세스 토큰을 사용한 로그인이 가장 먼저 수행되었습니다. jsonapi-resources gem을 사용하고 있습니다. https://github.com/cerebris/jsonapi-resourcesJSONAPI jsonapi 리소스를 사용하여 액세스 토큰과 같은 비 리소스 데이터에 응답하는 가장 좋은 방법

두 가지 문제가 있습니다. 나는 성공한 경우 생성 된 액세스 토큰과 그렇지 않은 경우 실패 메시지를 반환하려고합니다. 나는 이러한 종류의 데이터 (사용자 레코드 PLUS 액세스 토큰)을 반환 할 수있는 방법

1 첫 번째는, :

는 지금은 두 가지 문제가 있어요. JSONAPI 사양 읽기 나는 compound document이 길 일 것이라고 생각하지만이 보석으로 어떻게 할 수 있습니까?

2 로그인과 같은 비 CRUD 경로에 어떻게 반응합니까? 컨트롤러에서 뭔가를 만들어야합니까? 그리고이 경우 리소스 객체를 어떻게 처리 할 수 ​​있습니까?

+0

두 질문 - 1) 당신은 왜 당신이 (당신이 저장된 곳 클라이언트 측을 가져야한다) 사용자를위한 쿼리 및 2) 당신이 인증을 위해 사용하는 (즉 고안하고있는 액세스 토큰을 반환 싶어, OAuth를, 등)? – jeffdill2

답변

1

비 리소스 데이터 같은 것은 없습니다. 리소스 측면에서 거의 모든 것을 모델링 할 수 있습니다.

이러한 리소스는 테이블에 직접 매핑 할 필요가 없으며 지속성 계층에 식별 가능한 엔터티로 존재할 수도 있습니다. API 소비자의 관점에서 볼 때 리소스 표현이 실제 데이터베이스 행이나 문서 또는 요청에 따라 만들어진 완전히 추상적 인 엔터티인지 여부는 대부분 관련성이 없습니다. JR은 간단하고 out of the box 지원 사용 추상 자원 구현

: 모델에 의해 백업되지 않습니다

추상 자원

자원 선언해야한다 (순수 다른 자원에 대한 는 기본 클래스로 사용) 추상으로.

추상 리소스가 모델에 의해 지원 될 것으로 예상하지 않기 때문에 은 모델 클래스 또는 그 관계를 탐색하지 않습니다.

이제 다시 사용 사례에 오는 : 이것은 (단일 속성)을 authToken에 자원으로 모델링 할 수

  1. (대일 협회)에 관련 사용자 의지. 그리고 경우에 따라 사용자 리소스가 AuthToken 리소스와 함께 동일한 API 응답에 포함될 수도 있습니다.

  2. 다시 말해서 리소스를 중심으로 전체 도메인을 모델링하면 모든 동작을 CRUD 동작으로 모델링 할 수 있습니다. 로그인은 단지 UserSession 리소스를 만드는 것입니다.

JSON : API 사양 관련 자료의 allows 포함 : 관련 리소스

엔드 포인트가 기본적으로 기본 데이터와 관련된 자원을 반환 할 수의

에 포함될.

엔드 포인트는 또한 클라이언트가 관련 자원을 반환해야하는 사용자 정의 할 수 있도록하는 등 요청 매개 변수를 지원할 수 있습니다.

그리고이 기능은 JR도 fully supported입니다.