7 Star 24 Fork 30

go-course / go8

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
book.go 2.94 KB
一键复制 编辑 原始数据 按行查看 历史
Mr.Yu 提交于 2022-10-15 11:04 . 完成认证中间件
package api
import (
"fmt"
"gitee.com/go-course/go8/projects/devcloud/mcenter/apps/token"
"github.com/emicklei/go-restful/v3"
"github.com/infraboard/mcube/http/response"
"gitee.com/go-course/go8/projects/devcloud/maudit/apps/book"
)
func (h *handler) CreateBook(r *restful.Request, w *restful.Response) {
req := book.NewCreateBookRequest()
// 需要拿到用户身份信息
// 通过中间件已经知道, 怎么才能知道中间件的返回结果
// 在Go Restful 提供一个map attributes map[string]interface{} // for storing request-scoped values
// 用于存储请求是的一些上下文信息, 认证信息 就放到上下文中 map, 通过Request的Attribute 来写入Map r.SetAttribute()
tk := r.Attribute("tk")
// 引入mcenter 依赖库, go mod tidy 下载依赖
// 注意依赖库的版本: go get gitee.com/go-course/go8/projects/devcloud/mcenter@bd1d41cce2d84ce7222db7cd74013cb483ea369d
if tk != nil {
if v := tk.(*token.Token); v != nil {
fmt.Println(v.UserId)
}
}
if err := r.ReadEntity(req); err != nil {
response.Failed(w.ResponseWriter, err)
return
}
set, err := h.service.CreateBook(r.Request.Context(), req)
if err != nil {
response.Failed(w.ResponseWriter, err)
return
}
response.Success(w.ResponseWriter, set)
}
func (h *handler) QueryBook(r *restful.Request, w *restful.Response) {
req := book.NewQueryBookRequestFromHTTP(r.Request)
set, err := h.service.QueryBook(r.Request.Context(), req)
if err != nil {
response.Failed(w.ResponseWriter, err)
return
}
response.Success(w.ResponseWriter, set)
}
func (h *handler) DescribeBook(r *restful.Request, w *restful.Response) {
req := book.NewDescribeBookRequest(r.PathParameter("id"))
ins, err := h.service.DescribeBook(r.Request.Context(), req)
if err != nil {
response.Failed(w.ResponseWriter, err)
return
}
response.Success(w.ResponseWriter, ins)
}
func (h *handler) UpdateBook(r *restful.Request, w *restful.Response) {
req := book.NewPutBookRequest(r.PathParameter("id"))
if err := r.ReadEntity(req.Data); err != nil {
response.Failed(w.ResponseWriter, err)
return
}
set, err := h.service.UpdateBook(r.Request.Context(), req)
if err != nil {
response.Failed(w.ResponseWriter, err)
return
}
response.Success(w.ResponseWriter, set)
}
func (h *handler) PatchBook(r *restful.Request, w *restful.Response) {
req := book.NewPatchBookRequest(r.PathParameter("id"))
if err := r.ReadEntity(req.Data); err != nil {
response.Failed(w.ResponseWriter, err)
return
}
set, err := h.service.UpdateBook(r.Request.Context(), req)
if err != nil {
response.Failed(w.ResponseWriter, err)
return
}
response.Success(w.ResponseWriter, set)
}
func (h *handler) DeleteBook(r *restful.Request, w *restful.Response) {
req := book.NewDeleteBookRequestWithID(r.PathParameter("id"))
set, err := h.service.DeleteBook(r.Request.Context(), req)
if err != nil {
response.Failed(w.ResponseWriter, err)
return
}
response.Success(w.ResponseWriter, set)
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/go-course/go8.git
git@gitee.com:go-course/go8.git
go-course
go8
go8
6a8978f41a84

搜索帮助

344bd9b3 5694891 D2dac590 5694891