问题标签 [grpc-web]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - Angular 6 的 GRPC Web 客户端
我使用过 grpc .net 客户端和使用 java 创建的 grpc 服务器,我如何使用 typescript 在 angular 6 上实现 grpc Web 客户端?另外我如何创建原型文件并且它是打字稿的打字?我正在关注这个repo,但无法生成 proto 文件。
grpc - 如何请求本地 gRPC 服务器?
我有一个 gRPC 服务器,我想通过本地通道调用此服务器,例如:
其他消息 -> 适配器 -> 本地 grpc 客户端 -> 本地 grpc 服务器
那么如何创建本地 grpc 客户端?使用本地通道构建存根?
grpc - 为什么浏览器不支持 gRPC?
gRPC 基于 HTTP/2,它(假设)被浏览器广泛支持。因此,我觉得从浏览器使用 gRPC 应该没有问题。
但是,很明显存在问题。协议grpc web是不同的,因为“由于浏览器限制”而存在。还有许多博客文章描述了为使 gRPC 在浏览器中工作而部署的复杂技术堆栈。
我错过了实际问题 - 为什么 gRPC 不能简单地在浏览器中工作?
node.js - 如何从 grpc mongoose nodejs 返回结果列表?
如何使用 grpc nodejs 返回待办事项列表,结果为空:
但是,当我在没有 grpc 的情况下尝试它时,它会返回带有数据的列表,但是当我尝试使用 grpc 获取待办事项列表时,它会返回空结果{ todo: [] }
注意:其他功能,如 Insert Update Delete ReadOne 工作顺利。只有没有得到所有待办事项的列表
最后给出的没有 gRPC 的工作代码
这是我的 gRPC 服务器
这是我的 gRPC 客户端
工作测试代码
超出测试代码
.原始文件
node.js - 如何将我的工作 curl 命令映射到 grpc-web 调用
我正在尝试获取grpc-web的工作实例。我有一个看起来像这样的后端服务。
我已经用服务器端的“客户端”对此进行了测试,所以现在我正在尝试连接实际的基于 Web 浏览器的客户端。首先我设置了代理,这显然是必要的?我决定使用基于GoLang 的grpcwebproxy,根据 grpc-web 文档,这似乎是一个可以接受的选择。
输出看起来像这样
我无法让网络浏览器实现工作,只是得到一些通用/CORS 相关的 500 错误。
我回到我的服务器端并决定卷曲代理。我当前的 curl 版本似乎不支持 http2,所以我改用了一个名为 h2c 的工具。
长话短说,我尝试 ping tls 端口 8443 并获得以下信息(最有希望的)。
我试试这个
我试试这个
我试试这个
我不希望立即出现“这是您的解决方案”类型的答案,因为我遗漏了很多内容,但是有人对在哪里运行有任何建议吗?
我得到的错误
如果通用的话,似乎是最有希望的。
编辑 :
似乎已经接近了一点,至少调试了服务器端。回到使用卷曲。这是我的命令
使用此命令,我能够通过 grpcwebproxy 访问我的服务,然后返回另一端。用二进制字符串提供 curl 似乎可以解决问题。我这么说是因为
导致错误消息
现在我需要将上面的 curl 命令映射到一个有效的 grpc-web 请求中。
编辑 2:
我现在正处于我认为我需要证书的地步。浏览器中的代码正在访问我的 grpcwebproxy,但我看到了错误消息
这发生在 grpcwebproxy 的输出中,所以我知道请求至少在那里。
我想我以前通过包含 --insecure 标签来解决这个问题......不知道如何在浏览器中复制它。
swagger - 我如何在没有 REST 的情况下从浏览器(比如从 swagger)测试我的由 gRPC-Web 提供支持的 web 应用程序?
我想在没有 REST 的情况下使用清晰的 gRPC (gRPC-Web) 开发我的客户端-服务器 Web 应用程序。类似于官方文档中描述的内容:https ://grpc.io/docs/quickstart/web.html
是否存在像 swagger 这样的工具,可以让我从 .proto 查看消息格式并通过从浏览器发送任何消息来测试服务器方法?我将 node.js 用于服务器端应用程序
grpc - 是否可以使用 grpc-java 编写服务器并使用 grpc-web 从浏览器调用它?
我们在 中实现了我们的微服务grpc-java
,是否可以从浏览器中调用它grpc-web
?
如果是,任何参考/文档都会有所帮助。
grpc - 如何在 Web 应用程序中获取自定义的错误负载?
我有以下简单的服务定义:
如您所见,我有一个自Error
定义定义。这包含一个特定于服务的状态代码。服务正在评估给定的文本,如果文本不合适则返回错误。在我的 Java 应用程序中,我正在执行以下操作来返回一个Error
对象:
我现在的问题是:如何Error
在我的 JS 应用程序中获取自定义有效负载?
我目前正在使用 grpc-web 的 JS 版本,但我可能很快就会迁移到 TS。