dongzhoulong1797 2017-12-27 16:09
浏览 50
已采纳

大猩猩Mux 404

I'm taking this holiday break to freshen up on Go. Unfortunately the code I have below is throwing a 404 on both of the routes. This is the latest iteration. I originally had the router in a handleRouter function and thought taking it out would fix the 404ing. Spoiler alert: it didn't. How can I fix this? Thanks!

package main

import (
    "encoding/json"
    "fmt"
    "log"
    "net/http"

    "github.com/gorilla/mux"
)

type Article struct {
    Title   string `json:"Title"`
    Desc    string `json:"desc"`
    Content string `json:"content"`
}

type Articles []Article

func main() {
    fmt.Println("Router v2 - Muxx")

    myRouter := mux.NewRouter()
    myRouter.HandleFunc("/all", returnAllArticles).Methods("GET")
    myRouter.HandleFunc("/", homePage).Methods("GET")
    log.Fatal(http.ListenAndServe(":8000", nil))
}

func homePage(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintln(w, "Hello:")
    fmt.Println("Endpoint Hit: homepage")
}

func returnAllArticles(w http.ResponseWriter, r *http.Request) {
    articles := Articles{
        Article{Title: "Hello", Desc: "Article Description", Content: "Article Content"},
        Article{Title: "Hello 2", Desc: "Article Description", Content: "Article Content"},
    }

    fmt.Println("Endpoint Hit: returnAllArticles")
    json.NewEncoder(w).Encode(articles)

}
  • 写回答

1条回答 默认 最新

  • duansanzi5265 2017-12-27 16:11
    关注

    To use the router, you must pass it to the HTTP server.

    log.Fatal(http.ListenAndServe(":8000", myRouter))
    

    or register it with the default serve mux:

    http.Handle("/", myRouter)
    log.Fatal(http.ListenAndServe(":8000", nil))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格