如何在go-restful中绑定一个处理程序?

时间:2017-03-27 06:17:09

标签: rest go go-restful

Go-restful是一个优秀且易于使用的Go RESTful风格框架,但这里是我想知道的东西(这只是一段代码):

func main() {
    service := new(restful.WebService)

    service.Route(
    service.GET("/{user-id}").To(FindUser).
    Returns(200, "hello", noMessageValue).
    Returns(500, "internal error", noMessageValue))
    restful.Add(service)
    http.ListenAndServe(":8080", nil)
} 

此代码可以正常运行。注意最后一行http.ListenAndServe(":8080", nil),它不会将任何处理程序传递给ListenAndServe方法(它传递一个nil值),只传递端口字符串。有谁知道go-restful如何实现处理程序绑定?

1 个答案:

答案 0 :(得分:0)

nil作为处理程序传递是Go中的常见做法。作为specs say

  

处理程序通常为零,在这种情况下使用DefaultServeMux。

DefaultServeMux只是http中的便捷全局变量。因此,默认情况下只需uses it