当前位置: 首页 > 面试题库 >

Golang杜松子酒Gonic Web框架代理路由到另一个后端

栾昂雄
2023-03-14
问题内容

如何在Gin Gonic Web Golang框架中将代理路由的一些路径反向请求到另一个后端

是否有一种方法可以直接在Handle函数中进行转发,如下所示?

router := gin.New() router.Handle("POST", "/api/v1/endpoint1", ForwardToAnotherBackend)


问题答案:

您可以使用标准库httputil.ReverseProxy进行此操作。

我还没有找到自己使用gin的理由,所以我尽可能地坚持使用stdlib。但是我相信您可以包装此ReverseProxy处理程序,gin.WrapH()以便能够与您的gin路由器一起使用。



 类似资料:
  • 问题内容: 我是Go和Gin的新手,无法打印出完整的请求正文。 我希望能够从第三方POST读取请求正文,但是我收到的请求正文为空 我的整个代码如下。任何指针表示赞赏! 问题答案: 这里的问题是您要打印出接口类型的字符串值。 您可以做的是让您满意的是,它确实包含所需的主体,它是将值从字符串中读取出来,然后打印出来。 这仅用于您的学习过程! 学习代码: 但是,这不是您应该访问请求正文的方式。让杜松子酒

  • 问题内容: 我在Gin中设置了默认路由器和一些路由: 但是我该如何处理杜松子酒中找不到404路线? 最初,我使用的是了解Gin所用的httprouter,所以这就是我最初拥有的… 和功能: 但这对杜松子酒不起作用。 我需要能够使用返回JSON,这样我才能使用: 问题答案: 您正在寻找的是处理程序。 更确切地说:

  • 问题内容: 我需要将响应主体记录在gin的中间件中,但是我找不到如何获取响应主体。有人可以帮忙吗? 我正在使用这样的中间件: 我的问题是,如何从中间件中的Context获取响应主体? 问题答案: 您需要拦截响应的编写并将其首先存储在某处。然后您可以记录它。为此,您需要实现自己的Writer来拦截Write()调用。 例如,如下: 然后像这样使用这个中间件: 请注意,该基石不适用于静态文件,因为gi

  • 我正在尝试使用react router(版本^1.0.3)做一个简单的重定向到另一个视图的操作,我只是觉得有些累。 我只需要将用法发送到“/login”,就这样。 我能做什么? 控制台中的错误: 未捕获的引用错误:未定义PropType 用我的路线归档