欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-24 11:57:06
本文实例讲述了go语言服务器开发实现最简单http的get与post接口。分享给大家供大家参考。具体分析如下: go语言提供了http包,可以很轻松的开发http接口。以...

本文实例讲述了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{} 
}

希望本文所述对大家的go语言程序设计有所帮助。