小编dro*_*ime的帖子

Golang处理程序处理不同类型

这些是AppHandler,来自我在网上找到的模式,同时研究大猩猩/多路复用器.它们是满足http.Handler的结构的一部分.如果您注意到,以下两个块完全相同.实际上,它们可以作为字符串传递"变体"("流程"或"过程").

func CreateFlow(a *AppContext, w http.ResponseWriter, r *http.Request) (int, error) {

    highest, code, err := a.Create("flow", r)
    if code != 200 || err != nil {
        return code, err
    }

    b := new(bytes.Buffer)
    json.NewEncoder(b).Encode(struct {
        Highest int `json:"id"`
    }{highest})
    w.Header().Set("Content-Type", "application/json")
    w.Write(b.Bytes())
    return 200, nil
}

func CreateProcess(a *AppContext, w http.ResponseWriter, r *http.Request) (int, error) {

    highest, code, err := a.Create("process", r)
    if code != 200 || err != nil {
        return code, err
    }

    b := new(bytes.Buffer)
    json.NewEncoder(b).Encode(struct { …
Run Code Online (Sandbox Code Playgroud)

dry go

2
推荐指数
1
解决办法
703
查看次数

标签 统计

dry ×1

go ×1