登录
首页 >  Golang >  Go问答

只通过地址端口号实现重定向

来源:stackoverflow

时间:2024-02-18 16:27:16 254浏览 收藏

在Golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《只通过地址端口号实现重定向》,聊聊,希望可以帮助到正在努力赚钱的你。

问题内容

我有两个容器在 docker 中运行。 我的 api(和标准部分)是 /abc/{xyz}/xmc,其中 xyz 当然是动态的,因为这是由用户在发送“post”请求时提供的。 该 api 在端口 8080 和 3000 上运行,如下所示:

http://localhost:3000/abc/nv8vhvv/xmc

http://localhost:8080/abc/chjbc8c/xmc

如果用户向 http://localhost:8080/abc/chjbc8c/xmc 发送“post”请求,我想(在 golang 文件内部)将其重定向到 http://localhost:3000/abc/ chjbc8c/xmc。我怎样才能在 golang 中做到这一点?


正确答案


package main

import (
    "fmt"
    "log"
    "net/http"
)

func redirect(w http.ResponseWriter, r *http.Request) {
    if r.Method == "POST" {
        redirectURI := fmt.Sprintf("http://localhost:3000%v", r.RequestURI)
        http.Redirect(w, r, redirectURI, 307)
    }
}

func main() {

    http.HandleFunc("/abc/nv8vhvv/xmc", redirect)
    err := http.ListenAndServe(":8080", nil)
    if err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《只通过地址端口号实现重定向》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>