微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

gRPC HTTP API - REST 请求

如何解决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 举报,一经查实,本站将立刻删除。