Go语言服务器开发实现最简单HTTP的GET与POST接口

本文实例讲述了Go语言服务器开发实现最简单HTTP的GET与POST接口。分享给大家供大家参考。具体分析如下:

Go语言提供了http包,可以很轻松的开发http接口。以下为示例代码:

代码如下:

package webserver import ( "encoding/json" "fmt" "net/http" "time" ) func WebServerBase() { fmt.Println("This is webserver base!") //第一个参数为客户端发起http请求时的接口名,第二个参数是一个func,负责处理这个请求。 http.HandleFunc("/login", loginTask) //服务器要监听的主机地址和端口号 err := http.ListenAndServe("192.168.1.27:8081", nil) if err != nil { fmt.Println("ListenAndServe error: ", err.Error()) } } func loginTask(w http.ResponseWriter, req *http.Request) { fmt.Println("loginTask is running...") //模拟延时 time.Sleep(time.Second * 2) //获取客户端通过GET/POST方式传递的参数 req.ParseForm() param_userName, found1 := req.Form["userName"] param_password, found2 := req.Form["password"] if !(found1 && found2) { fmt.Fprint(w, "请勿非法访问") return } result := NewBaseJsonBean() userName := param_userName[0] password := param_password[0] s := "userName:" + userName + ",password:" + password fmt.Println(s) if userName == "zhangsan" && password == "123456" { result.Code = 100 result.Message = "登录成功" } else { result.Code = 101 result.Message = "用户名或密码不正确" } //向客户端返回JSON数据 bytes, _ := json.Marshal(result) fmt.Fprint(w, string(bytes)) }

NewBaseJsonBean用于创建一个struct对象:

代码如下:

package webserver type BaseJsonBean struct { Code int `json:"code"` Data interface{} `json:"data"` Message string `json:"message"` } func NewBaseJsonBean() *BaseJsonBean { return &BaseJsonBean{} }

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2016-07-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT杂记

Windows查看文件句柄

图形界面方式     打开任务管理器 ?      2. 性能tab,点击链接打开资源监视器; ?     3. 现在cpu tab,关联的句柄后面的输入框可以...

57190
来自专栏小文博客

WordPress侧边栏“博客统计”小工具

21430
来自专栏Spring相关

Vue路由router-link的使用

16120
来自专栏Python爬虫实战

MySQL 从零开始:02 MySQL安装

15730
来自专栏破晓之歌

PythonAnyWhere免费部署python类网站

在执行部署Django网站之前,应该先处理好前期工作,比如对settings.py文件进行设置以防止私密信息泄露等。本文只是简单的笔记,原文地址为:https:...

33830
来自专栏极客慕白的成长之路

Pan Download – 百度网盘不限速下载器

百度网盘作为目前国内最大的网盘服务,下载速度对普通用户一直都非常不友好。Pan Download 是由 Kiryuu@吾爱破解 开发的绿色软件,无需安装,即下即...

14240
来自专栏Youngxj

修改Windows 7 开机启动画面

31520
来自专栏owent

Webpack+vue+boostrap+ejs构建Web版GM工具

Web前端的组件技术刷新真的是日新月异,前段时间看到很多童鞋分享了webpack的使用,刚好之前做我们游戏里Web版的GM工具的时候正在想怎么用简单的方式,做模...

64430
来自专栏听雨堂

web中的水晶报表 "出现通信错误。将停止打印"

被这个问题快折腾死,死活都找不到原因,找了一堆解答,无外乎这几种情况,但都不管用 在Page_Init中绑定数据。无效。 activex控件的版本,我试过10....

21090
来自专栏守望轩

Visual Studio 2008 每日提示(三十四)

#341、导出模板不选择“在资源管理器显示” 原文链接:What unchecking the display an explorer window on t...

31040

扫码关注云+社区

领取腾讯云代金券