本系列一共3篇文章,大概的程序逻辑如下:

作为经典的例子,直接上代码,Go的http server看起来比学生时代用Java简单。


http.Serve方法的第二个参数要求传入的是个接口

Golang使用的是鸭子类型,因此 HttpServer 只要实现ServeHTTP(resp http.ResponseWriter, req *http.Request)方法就可以了。


然后考虑body的处理,假设传入的body是如下结构

修改上文代码中的ServeHTTP方法,这里的知识点是 ioutil.ReadAll方法,它的参数是io.Reader接口


可是现实中body的具体类型是不确定的,就是vo不确定。在编码中我们依赖url,vo,method可以确定如何处理请求。后面的文章会介绍简单的处理方法。