You are viewing an old version of this page. View the current version.
Compare with Current View Page History
Version 1 Next »
HTTP Method
一个接口应当只做一件事情,HTTP Method是有意义的(例如RESTful接口风格设计),一个接口支持多种HTTP Method方式是接口设计不合理,在规范路由下不支持。建议重新审视接口设计。
RESTful
例如,拿用户接口来讲,一个CURD接口在RESTful实现应当有4-5个API定义,实现不同的业务逻辑。那么可能存在以下API定义的RESTful接口:
CURD
4-5
API
接口名称 Method Path 创建用户 PUT /user 用户列表 GET /user 用户详情 GET /user/{uid} 修改用户 POST /user/{uid} 删除用户 DELETE /user/{uid}
不存在一个API需要绑定多个HTTP Method的场景。
如果确实需要注册类似于ALL这种请求处理路由,在标准的OpenAPI协议里面不支持,可以不使用规范路由,而是使用普通的路由注册方式,将方法定义为func(r *ghttp.Request)即可。不同的路由注册方式可以结合使用,虽然不是很推荐。
ALL
OpenAPI
func(r *ghttp.Request)
Response
Data
使用类型别名即可。
源码地址:https://github.com/gogf/gf/tree/master/example/httpserver/response_with_json_array
结果示例: