62 Star 349 Fork 420

infraboard / go-course

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
host.go 2.20 KB
一键复制 编辑 原始数据 按行查看 历史
Mr.Yu 提交于 2021-09-04 18:41 . update day14
package http
import (
"net/http"
"github.com/julienschmidt/httprouter"
"github.com/infraboard/mcube/http/request"
"github.com/infraboard/mcube/http/response"
"gitee.com/infraboard/go-course/day14/demo/api/pkg/host"
)
func (h *handler) QueryHost(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
query := host.NewQueryHostRequestFromHTTP(r)
set, err := h.service.QueryHost(r.Context(), query)
if err != nil {
response.Failed(w, err)
return
}
response.Success(w, set)
}
func (h *handler) CreateHost(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
ins := host.NewDefaultHost()
if err := request.GetDataFromRequest(r, ins); err != nil {
response.Failed(w, err)
return
}
ins, err := h.service.SaveHost(r.Context(), ins)
if err != nil {
response.Failed(w, err)
return
}
response.Success(w, ins)
}
func (h *handler) DescribeHost(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
req := host.NewDescribeHostRequestWithID(ps.ByName("id"))
set, err := h.service.DescribeHost(r.Context(), req)
if err != nil {
response.Failed(w, err)
return
}
response.Success(w, set)
}
func (h *handler) DeleteHost(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
req := host.NewDeleteHostRequestWithID(ps.ByName("id"))
set, err := h.service.DeleteHost(r.Context(), req)
if err != nil {
response.Failed(w, err)
return
}
response.Success(w, set)
}
func (h *handler) PutHost(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
req := host.NewUpdateHostRequest(ps.ByName("id"))
if err := request.GetDataFromRequest(r, req.UpdateHostData); err != nil {
response.Failed(w, err)
return
}
ins, err := h.service.UpdateHost(r.Context(), req)
if err != nil {
response.Failed(w, err)
return
}
response.Success(w, ins)
}
func (h *handler) PatchHost(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
req := host.NewUpdateHostRequest(ps.ByName("id"))
req.UpdateMode = host.PATCH
if err := request.GetDataFromRequest(r, req.UpdateHostData); err != nil {
response.Failed(w, err)
return
}
ins, err := h.service.UpdateHost(r.Context(), req)
if err != nil {
response.Failed(w, err)
return
}
response.Success(w, ins)
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/infraboard/go-course.git
git@gitee.com:infraboard/go-course.git
infraboard
go-course
go-course
19a3f401ff21

搜索帮助

344bd9b3 5694891 D2dac590 5694891