2016-06-05 3 views
1

POST 요청을 사용하여 상위 객체를 만들 때 respondTo에 belongsTo 관련 객체를 포함시키는 방법이 궁금합니다. '저장 후'후크에서 관련 객체를로드하려고 시도했지만 응답에서는 반환되지 않고 외래 키만 반환됩니다.HTTP 응답에 중첩 모델을 포함시키는 방법은 무엇입니까?

예 :

/팀/1/회원 POST

{ name: 'person1' } 

예상 응답 :

{name:'person1', team:{id:1}} 

실제 응답 : 가능

{name:'person1', teamId: 1} 

인가? 그렇지 않다면 해결 방법이 있습니까?

답변

1

remote after create hook을 사용할 수 있습니다.

Team.afterRemote('*.__create__members', async (ctx, member, next) => { 
    try { 
     member.__data.team = await Team.findById(member.teamId) 
     next() 
    } catch (err) { 
     next(err) 
    } 
    }) 
+0

매우 좋습니다! 그것은 나를 위해 일하게 만든 __data입니다. 해결 방법과 같이 느껴지므로 답변을 수락하기 전에 잠시 멈추십시오. 감사! – gjrwebber

+1

예! 누군가가 더 나은 답변을 제시하면 모든 사람에게 더 낫습니다. GitHub에서 [관련 문제] (https://github.com/strongloop/loopback/issues/1094)를 발견했습니다. 어쩌면 그것은 당신에게 더 많은 통찰력을 줄 수 있습니다. 이러한 종류의 문제는 대개 [필터 포함] (https://docs.strongloop.com/display/public/LB/Include+filter) + [기본 범위] (https://docs.strongloop.com/display)로 처리됩니다./public/LB/Model + 정의 + JSON + 파일 # ModeldefinitionJSONfile-Defaultscope), * create * 메소드에 대한 필터링은 없습니다. 어쩌면 다른 가능성은 그것을 다시 정의하는 것입니다. –

관련 문제