gRPC HTTP API - REST 请求

问题描述

我想在 Blazor 调用中在 gRPC 服务器上发出 REST 请求。 我想使用 gRPC Http API (https://github.com/aspnet/AspLabs/tree/main/src/GrpcHttpApi),我按照说明做了所有的事情(导入了 Google Api proto 文件,更改了启动)并且我的 .proto 文件已经得到了这个服务

service Contact{
   rpc Contacts(Empty) returns(ContactList)
   {
      option(google.api.http) = {
         get: "/api/contact/contacts"
      };
   };
}

gRPC 服务器上的这个 gRPC 请求正在运行

    var grpcChannel = GrpcChannel.ForAddress("https://localhost:5001",new GrpcChannelOptions { HttpHandler = new GrpcWebHandler(new httpclienthandler())});
    var grpcclient = new Protos.Contact.ContactClient(grpcChannel);
    var grpcResponse = await grpcclient.ContactsAsync(new Protos.Empty());

但是如果我像这样发出 REST 请求,响应总是“未找到”。 gRPC 服务器控制台没有错误

        var restClient = new HttpClient();grp
        restClient.BaseAddress = new Uri("https://localhost:5001");
        restClient.DefaultRequestHeaders.Accept.Clear();
        var restResponse = restClient.GetAsync("/api/contact/contacts").Result;
        var restResult = restResponse.Content.ReadAsstringAsync().Result;

有人可以帮我吗?谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)