国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Golang > 正文

Go語言服務器開發實現最簡單HTTP的GET與POST接口

2020-04-01 19:21:43
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Go語言服務器開發實現最簡單HTTP的GET與POST接口,實例分析了Go語言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語言程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙海市| 泸州市| 广平县| 增城市| 安阳县| 元阳县| 肇源县| 新宁县| 平乡县| 彝良县| 清新县| 桓仁| 嘉祥县| 岫岩| 电白县| 陆河县| 扎鲁特旗| 铁力市| 邢台市| 灵山县| 鄄城县| 府谷县| 嘉善县| 和硕县| 北宁市| 饶平县| 巫溪县| 兴隆县| 响水县| 嘉定区| 北票市| 余干县| 万安县| 兴化市| 大安市| 澜沧| 临江市| 连城县| 太白县| 东辽县| 罗江县|