2016-09-22 5 views
1

FeathersJS 앱에서 매우 복잡한 사용자 정의/복잡한 작업을 수행하는 여러 경로를 구현해야합니다.FeathersJS에서 사용자 정의/복합 작업 경로를 구현하는 방법

이러한 경로 중 하나는 /Category/disableExclusiveContentsOf/:id입니다. 이 데이터베이스는 12 개 데이터베이스 테이블에 대해 쿼리를 실행하여 :id 범주와 관련된 행을 독점적으로 찾습니다. FeathersJS가 제공하는 쿼리 추상화를 사용하여 절대 그렇게 할 수 없습니다. 그런 다음, FeathersJS의 "로컬"API를 사용하여 찾은 행을 업데이트하여 데이터 업데이트 이벤트를 클라이언트에 발생시킵니다.

그러나 Express 만 사용하여 라우트를 구현하면 Feathers 인증/권한 부여 후크가 실행되지 않으므로 엔드 포인트가 보호되지 않습니다. 이는 필수 사항입니다.

FeathersJS 애플리케이션에 어떻게 이러한 것들을 수용 할 수 있습니까?

답변

7

당신은 여전히 ​​your own service를 사용하여 경로를 구현할 수 있으며, :idroute parameter로 사용 : 나는 변화가 URL 행동으로하고 지향하게 자원이없는 것이다 권하고 싶습니다

app.use('/Category/disableExclusiveContentsOf/:id', { 
    find() { 
    // do complex stuff here 
    } 
}); 

한 가지를. 즉, 일반적으로 좋은 사례가 아닌 것으로 간주되는 GET 요청을 사용하여 애플리케이션 데이터를 변경할 수 있습니다 (일부 경우 Google 크롤러가 들어 왔고 여러 가지 사항이 삭제/변경됨).

깃털을 사용하면 맞춤 경로와 동작보다는 리소스를 생각할 수 있습니다. 귀하의 경우에는 서비스를 이용하실 수 있습니다. POST