package main
import (
"fmt"
"log"
"net/http"
)
/*NewBaseJsonBean用於創建一個struct對象:*/
type BaseJsonBean struct {
Code int `json:"code"`
Data interface{} `json:"data"`
Message string `json:"message"`
}
func NewBaseJsonBean() *BaseJsonBean {
return &BaseJsonBean{}
}
func main() {
http.HandleFunc("/", hander)
err := http.ListenAndServe("localhost:9090", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
func hander(w http.ResponseWriter, r *http.Request){
//path := r.URL.Path
//fmt.Fprintf(w, "Hello world")
//fmt.Println("path:", path)
//fmt.Println("method:", r.Method)
//fmt.Println("username:", r.PostFormValue("username"))
/* 返回json格式的數據 直接解析POST
curl -d "username=aa&passwd=123" 127.0.0.1:9090 */
r.ParseForm()
//r.FormValue("username")//這樣使用也沒毛病
//r.FormValue("password")//這樣使用也沒毛病
param_username, found1 := r.Form["username"]
param_password, found2 := r.Form["password"]
fmt.Println("username:", param_username)
fmt.Println("password:", param_password)
if !(found1 && found2) {
fmt.Fprint(w, "請勿非法訪問")
return
}
result := NewBaseJsonBean()
username := param_username[0]
password := param_password[0]
if username == "aa" && password == "123" {
result.Code = 100
result.Message = "登錄成功"
} else {
result.Code = 101
result.Message = "用戶名或密碼不正確"
}
//向客戶端返回JSON數據
bytes, _ := json.Marshal(result)
fmt.Fprint(w, string(bytes))
}
/* 直接解析POST curl -d '{"username":"aa"}' 127.0.0.1:9090 */
var mapData map[string]interface{}
body, _ := ioutil.ReadAll(r.Body)
json.Unmarshal(body, &mapData)
domain := mapData["domain"].(string)//通過.(string)轉換成string類型
log.Println(domain)
if len(domain) != 0 {
log.Println("輸入合法")
} else {
log.Println("輸入不合法")
}