2017-12-02 23 views
0

NodeJS 및 LoopBack에서 빌드 한 REST API를 사용하는 각도 응용 프로그램을 작성합니다. 새 레코드를 만들려고 할 때 내 앱과 우편 배달부에서 모두 이상한 오류가 발생합니다.루프백 탐색기에서는 POST/PATCH가 작동하지만 우편 발송자에서는 작동하지 않습니다.

The `ObjectName` instance is not valid. 
Details: `id` can't be blank (value: undefined); 
`property2` can't be blank (value: undefined); 
`property3` can't be blank (value: undefined). 

이 내가 게시 한 것입니다 (속성 이름은 무죄를 보호하기 위해 변경되었습니다) :

{ 
    "id":0, 
    "property2":"foo", 
    "property3":"bar", 
    "property4":"R" 
} 

이의 이상한 부분은 그 나는 루프백 API 탐색기를 통해이를 실행하려고하면 , 그것은 잘 작동합니다. 나는 PATCH 방식에도 똑같은 문제가있다.

의견이 있으십니까?

감사합니다.

+0

게시자를 통해 데이터를 보내는 방법은 스크린 샷이나 다른 것을 게시 할 수 있습니다. –

+0

@RahulSingh '원시'옵션이 선택된 상태에서 본문 탭으로 보내고 있습니다. 그것이 내가 우편 저와 함께 json 데이터를 보낸 이유입니다. 민감한 데이터를 흐리게 처리 할 방법이 없기 때문에 스크린 샷을 게시 할 수 없습니다. –

+0

@ChrisHampton : 헤더를 설정 했습니까 ('Content-Type','Accept')? LoopBack API 탐색기를 통해 요청을하면 curl 명령도 생성됩니다. 그 컬 명령이 효과가 있습니까? –

답변

0

원인을 발견했습니다. 이전 API에서는 백엔드가 필요한 속성을 적용하고 그렇지 않은 것을 버리는 모델 바인더로 설정되었습니다. 그래서 나는 일반적으로 POST/PUTs/등으로 전체 객체를 보냈습니다. 이 경우, 우리는 그것을 가지고 있지 않습니다, 그래서 그것은이 이상한 오류를 던지고있었습니다. 개체를 맨손으로 필요한 부분 만 제거 할 수있는 Angular auto-mapper에 메서드를 추가하면 작업이 정상적으로 처리됩니다.

결국 오류 메시지가 개선 되었다면 그 사실을 알았을 것입니다.