从其余客户端调用gRPC服务时,我收到了HTTP错误代码405。
我尝试使用gRPC客户端调用delete方法,它工作正常(即获取200)。
REST CLIENT
req, err = http.NewRequest("DELETE", fmt.Sprintf("%s%s", *address, "/v1/todo"), nil)
resp, err = http.DefaultClient.Do(req)
if err != nil {
log.Fatalf("failed to call DeleteAll method: %v", err)
}
bodyBytes, err = ioutil.ReadAll(resp.Body)
resp.Body.Close()
if err != nil {
body = fmt.Sprintf("failed read Delete response body: %v", err)
} else {
body = string(bodyBytes)
}
log.Printf("Delete response: Code=%d, Body=%s\n\n", resp.StatusCode, body)
gRPC客户端
req6 := v1.DeleteAllRequest{
Api: apiVersion,
}
res6, err := c.DeleteAll(ctx, &req6)
if err != nil {
log.Fatalf("Delete failed: %v", err)
}
log.Printf("Delete all result: <%+v>\n\n", res6)
希望正确执行删除功能并获得200个http响应。
答案 0 :(得分:0)
当前的浏览器本身不支持grpc。因此,我尝试使用来自envoy(lyft的envoy)的sidecar代理,该代理充当grpc后端的接口。
list_fast = [z for z in list_dataframes if 'FAST' in z['Segmentation'].values]
这就是我在特使配置中编写服务的方式,有关此内容的更多详细信息,请参见Envoy's Github Repository,其中有多个示例可以更好地理解该过程。