문서를 살펴 보았지만 아직 해결 방법을 찾지 못했습니다. 응용 프로그램은 느슨하게 해당 문서의 "sayHello"-example을 기반으로하지만 코드가 실행될 때마다 Method handler for /eventComm.DatabaseRPC/InsertSingleDocument expected but not provided
이라는 경고가 반환됩니다.NodeJS gRPC : "메서드 처리기가 필요하지만 제공되지 않았습니다."
내 프로토 파일 :
service DatabaseRPC {
rpc InsertSingleDocument (Doc) returns (Doc) {}
}
message Doc {
required string name = 1;
required int32 id = 2;
}
내 gRPC 서버 :
function InsertSingleDocument (call, callback) {
callback(null, {
name: 'Hello ',
id: 1
})
}
let server = new grpc.Server()
server.addProtoService(protoDef.DatabaseRPC.service, {
InsertSingleDocument: InsertSingleDocument
})
server.bind('0.0.0.0:50051', grpc.ServerCredentials.createInsecure())
server.start()
이 코드의 문제는 무엇입니까? 물론 이미 google the error을 시도했지만, 방법을 소문자로 첫 글자와 함께 제공되어야한다 자바 스크립트 명명 규칙을 준수하기 위해 해결책
감사합니다. 나는 예제에서 lowercasing을 완전히 놓쳤다. 다른 언어에도 문제가 있습니까? 어쩌면 모든 함수가 proto 파일에서 소문자로 시작하는 이름 지정 체계를 시행하는 데 도움이 될 것입니다. – trahloff
여러 언어에서 메서드 이름이 해당 언어의 명명 체계를 따를 것으로 예상되지만 이러한 명명 체계는 다를 수 있습니다. proto 파일에있는 선언은 proto 파일의 이름 지정 규칙과 일치합니다. – murgatroid99
확인해 주셔서 감사합니다. 설명서에 추가 할 수 있습니까? 큰 빨간 글씨로. 지금까지 gRPC를 좋아하지만, [빠른 시작 가이드] (http://www.grpc.io/docs/quickstart/node.html#update-a-grpc-service)를 읽었을 때 나는 그 비트를 완전히 놓쳤습니다. – trahloff