亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何處理來自 go 的請求方法。我不使用圖書館

如何處理來自 go 的請求方法。我不使用圖書館

Go
慕工程0101907 2022-12-19 10:25:08
在此之前我使用 node js 并且很容易理解如何處理方法節點 js 上的示例:    switch (request.method) {    case 'OPTIONS': return OptionsResponse(response);    case 'GET': return GetSwitch(request, response);    case 'POST': return PostSwitch(request, response);    case 'PUT': return PutSwitch(request, response);    case 'DELETE': return DeleteSwitch(request, response);    default: return ErrorMessage( "Sorry, this method not supported", 501, request);}但我不知道該怎么做package utilsimport (    "log"    "net/http"    "github.com/user/go_rest_api/src/view" // page view    "github.com/user/go_rest_api/src/api" // only api server);如何在 go 中實現相同的處理程序?func HandlerRequestFunc() {http.HandleFunc("/", view.Homepage);/*get method from api server */http.HandleFunc("/api", api.InfoFromApi);/* from db api handler */http.HandleFunc("/api/login", api.Login);http.HandleFunc("/api/registration", api.Registration);/* get your list db */http.HandleFunc("/api/db/list", api.DataBaseList);/* server start function */log.Fatal(http.ListenAndServe(":3000", nil));}如何不在函數內部處理方法
查看完整描述

3 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

也許這可以幫助你:


type MyHandler struct{}


func (self MyHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {


}


http.ListenAndServe(":3000", &MyHandler{})


查看完整回答
反對 回復 2022-12-19
?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

這是翻譯成 Go 的問題中的 node.js 代碼。Go 代碼與 node.js 代碼非常相似。


func myHandler(response http.ResponseWriter, request *http.Request) {

    switch request.Method {

    case "OPTIONS":

        OptionsResponse(response, request)

    case "GET":

        GetSwitch(response, request)

    case "POST":

        PostSwitch(response, request)

    case "PUT":

        PutSwitch(response, request)

    case "DELETE":

        DeleteSwitch(response, request)

    default:

        http.Error(response, "Sorry, this method not supported", 501)

    }

}


查看完整回答
反對 回復 2022-12-19
?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

我認為您需要像這樣為您的代碼編寫響應和請求。因為是語言的默認包


func myHandler(w http.ResponseWriter, r *http.Request) {

switch request.Method {

case "OPTIONS":

    OptionsResponse(response, request)

case "GET":

    GetSwitch(response, request)

case "POST":

    PostSwitch(response, request)

case "PUT":

    PutSwitch(response, request)

case "DELETE":

    DeleteSwitch(response, request)

default:

    http.Error(response, "Sorry, this method not supported", 501)

}

}


查看完整回答
反對 回復 2022-12-19
  • 3 回答
  • 0 關注
  • 93 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號