有没有哪个 golang web 框架支持谷歌 api 这个规范的 (https://xxx.com/v1/api:method)

2021-11-02 14:18:27 +08:00
 JoeBreeze

https://cloud.google.com/apis/design/custom_methods

2317 次点击
所在节点    Go 编程语言
17 条回复
saltbo
2021-11-02 14:55:41 +08:00
同问。k8s 的 api 就是这种吧? 很喜欢这种形式
vvqqdd
2021-11-02 14:56:57 +08:00
你标题这个网站点进去是 p0rn 。。。
mauve
2021-11-02 14:58:40 +08:00
@vvqqdd 已经点进去了……
JoeBreeze
2021-11-02 15:02:46 +08:00
@vvqqdd #2 我随便打的, 完蛋...
XTTX
2021-11-02 15:25:55 +08:00
看得不是很懂。 推荐错了就当我没有说过。gorilla mux
r := mux.NewRouter()
s := r.PathPrefix("/1").Subrouter()
s.HandleFunc("/{api:[a-z]+}", ProductsHandler)

ProductsHandler 里 通过 vars := web.Params(r)
apiMethod:= vars["api"] 读出来
XTTX
2021-11-02 15:27:02 +08:00
如果是上面的需求,应该是个像样的 mux 都会提供这个吧。
JoeBreeze
2021-11-02 15:31:50 +08:00
@XTTX #5 多谢老哥, 这个确实有在公司的项目里看到过, 而个人用的是 gin, gin 自带的路由是不能使用 :method, 会被 gin.Context 当作一个参数 "method", 所以想找个类似 gin 这种好用的框架, 但是路由可以更加自由一些
andyskaura
2021-11-02 15:36:39 +08:00
xxx 这个域名老贵了吧
XTTX
2021-11-02 16:55:13 +08:00
@JoeBreeze 既然都是 custom method 了, 就当作 regex 读吧。 我还不是很懂你的需求,不过 go 的好处就是可以自己随意封装。 可以参考一下 ardanlabs service 把 treeMux 封装成了自己需要的样子,所有的 web 框架都放在 foundation 里,app 文件夹里的 handler 调用
JoeBreeze
2021-11-02 17:03:21 +08:00
@XTTX #9 需求的出发点就是在用 gin 的时候被它的路由限制住了, 所以想寻求一个路由可以实现 custom_methods 的 web 框架. 好的! 谢谢, 我去看看
superfatboy
2021-11-02 21:00:55 +08:00
要不试试 iris
pming1
2021-11-03 08:50:45 +08:00
这也是 rest 里的一种吧
JoeBreeze
2021-11-03 09:19:56 +08:00
@superfatboy #11 好的谢谢!
JoeBreeze
2021-11-03 09:21:37 +08:00
@pming1 #12 是啊.. 好像都是谷歌设计的规范
abccccabc
2021-11-03 11:30:00 +08:00
xxx.com/v1/api:method 这种方式很容易让人猜到请求方式,从而被攻击哦
yrj
2021-11-03 12:26:45 +08:00
gofiber 你值得拥有 :)
Oktfolio
2021-11-03 13:59:42 +08:00
@abccccabc 只是把 POST xxx.com/v1/undelete-user {"username": "用户名"},变成了 POST xxx.com/v1/users/用户名:undelete ,怎么就会被攻击了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/812454

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX