首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >古朗mux HandleFunc总是404

古朗mux HandleFunc总是404
EN

Stack Overflow用户
提问于 2015-06-02 16:25:15
回答 2查看 1.7K关注 0票数 2

出于原因,我尝试使用mux而不是来自net/http的standart HandleFunc来处理HTTP请求。有了http,它就能正常工作,而使用mux就不行了。

代码语言:javascript
复制
import (
    _ "github.com/go-sql-driver/mysql"
    "github.com/gorilla/mux"
    _ "io/ioutil"
    "net/http"
)


func init() {

    mx := mux.NewRouter()

    //create a poll
    mx.HandleFunc("/poll", pollCreate)
    mx.HandleFunc("/poll/{id}", loadPoll)
    mx.HandleFunc("/poll/vote", castVote)

    http.ListenAndServe(":8080", mx)
}

以下员额请求

代码语言:javascript
复制
localhost:8080/poll

在以下方面的成果:

代码语言:javascript
复制
INFO     2015-06-02 16:23:12,219 module.py:718] default: "POST /poll HTTP/1.1" 404 19
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-02 16:49:26

找到解决办法了。

变化

代码语言:javascript
复制
http.ListenAndServe(":8080", mx)

代码语言:javascript
复制
http.Handle("/", mx)
票数 3
EN

Stack Overflow用户

发布于 2020-01-26 18:03:23

您忘了添加默认处理程序。将方法与处理程序保持在一起总是更好。

代码语言:javascript
复制
 import (
        _ "github.com/go-sql-driver/mysql"
        "github.com/gorilla/mux"
        _ "io/ioutil"
        "net/http"
    )


func init() {

    mx := mux.NewRouter()

    //create a poll
    mx.Path("/").HandlerFunc(indexHandler)
    mx.PathPrefix("/poll", pollCreate).Method("POST)
    mx.PathPrefix("/poll/{id}", loadPoll)
    mx.PathPrefix("/poll/vote", castVote)

    http.ListenAndServe(":8080", mx)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30601495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档