码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • grpc gateway malformed header: missing HTTP content-type


    前言

    当go-micro版本是v4时,使用curl、postman等工具调用grpc gateway http接口时,会出现如下错误:

    malformed header: missing HTTP content-type

    解决方法

    找到代码中,go-micro service创建处,添加"micro.Server(grpcsvr.NewServer())",即可。

    完整示例请参考:https://github.com/go-micro/plugins/blob/main/v4/server/grpc/grpc_test.go#L237

    下面为简单示例:

    1. import (
    2. "context"
    3. "errors"
    4. "net"
    5. "sync"
    6. "testing"
    7. "time"
    8. grpcsvr "github.com/go-micro/plugins/v4/server/grpc"
    9. "go-micro.dev/v4"
    10. "go-micro.dev/v4/client"
    11. "go-micro.dev/v4/debug/handler"
    12. proto "go-micro.dev/v4/debug/proto"
    13. "go-micro.dev/v4/registry"
    14. "go-micro.dev/v4/util/test"
    15. )
    16. func createService() micro.Service {
    17. // create service
    18. srv := micro.NewService(
    19. micro.Name(name),
    20. micro.Context(ctx),
    21. micro.Registry(r),
    22. // 新增加该行
    23. micro.Server(grpcsvr.NewServer()),
    24. micro.Address(net.JoinHostPort(IPv4, Port)),
    25. micro.Metadata(map[string]string{
    26. "ipv6": net.JoinHostPort(IPv6, Port),
    27. }),
    28. micro.AfterStart(func() error {
    29. wg.Done()
    30. return nil
    31. }),
    32. micro.AfterStop(func() error {
    33. wg.Done()
    34. return nil
    35. }),
    36. )
    37. return srv
    38. }

    参考:

    1.malformed header: missing HTTP content-type - bytemeta

    2.Customizing your gateway | gRPC-Gateway (grpc-ecosystem.github.io) (aipdoc)

  • 相关阅读:
    Win11启动修复无效怎么办
    【附源码】计算机毕业设计JAVA衡水特产展销系统
    springboot版HelloWorld
    Spring——Spring中基于注解以及配置实现事务的管理
    Spring-分析BeanFactoryPostProcessor后置处理器
    智慧公路筑基者!天翼云打造全栈能力新底座
    un7.30:Linux——如何在docker容器中显示MySQL的中文字符?
    电脑系统还原怎么操作?
    【小米】二维定长滑动窗口
    数字化转型与制造企业绿色创新质量——基于供需双侧机制的再检验(2011-2022年)
  • 原文地址:https://blog.csdn.net/a145127/article/details/126962493
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号