Go Gorilla Mux 将在使用 StrictSlash(true) 时保持 301 重定向,如何返回 json

标签 go

这是我用于端点的主要功能的一部分

r := mux.NewRouter()
r.StrictSlash(true)
r.HandleFunc("/", test)
r.HandleFunc("/feature/list/", a.FeatureListHandler)
log.Fatal(http.ListenAndServe(":8080", r))

但是当我curl localhost:8080/feature/list我明白了

<a hef="/feature/list">Moved Permanently</a>

然而,当我curl localhost:8080/feature/list/我得到了我的 json。

如何才能使两条路由都返回我想要的 json。

最佳答案

从文档来看,这似乎是当 StrictSlashtrue 时的预期行为:

http://www.gorillatoolkit.org/pkg/mux#Router.StrictSlash

也许您可以将其设置为false,然后分别定义两个路由?

r.StrictSlash(false)
r.HandleFunc("/feature/list", a.FeatureListHandler)
r.HandleFunc("/feature/list/", a.FeatureListHandler)

关于Go Gorilla Mux 将在使用 StrictSlash(true) 时保持 301 重定向,如何返回 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46224396/

相关文章:

go - 限制变量存储错误的范围

file-io - 读取一个golang文件并用大写字母替换单词搜索

mongodb - 如何使用官方Go驱动程序在MongoDB中持久存储文件(小于16MB)

git - 获取私有(private)包裹时无法读取用户名

go - 为什么 Go 可以将 GC 暂停时间降低到 1 毫秒以下,而 JVM 却没有?

testing - 使用 Go 的 "testing/quick"包生成随机的数字和字母字符串

go - 创建迭代 JSON 目录树 - Golang

Godep 恢复不使用保存在 _workspace 中的代码

json - 使用golang Gin Framework和MongoDB创建一个简单的Restful API

arrays - 数组在 Go 中的功能是否与在 Ruby 或 Python 中的功能相同?