国产探花免费观看_亚洲丰满少妇自慰呻吟_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語言程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永州市| 晋宁县| 信丰县| 东乡族自治县| 龙泉市| 武穴市| 县级市| 房产| 安岳县| 枞阳县| 山东| 台湾省| 黎川县| 屏边| 包头市| 保康县| 乐安县| 汽车| 晋城| 柳林县| 中宁县| 若尔盖县| 忻州市| 和田市| 乌拉特后旗| 云南省| 冕宁县| 新民市| 西华县| 延长县| 涟水县| 武隆县| 磐石市| 昌邑市| 阿巴嘎旗| 昌图县| 井冈山市| 亚东县| 闵行区| 福建省| 固原市|