html请求接口_前端工程师吐后端工程师(第八讲)——接口的开发
上一講我們介紹了如何寫讓模板變量在頁面上展示,本講我們介紹一下后端開發(fā)工作中最常用的功能——接口。創(chuàng)建一個go_test4文件夾,然后把go_test3中的代碼復(fù)制進(jìn)去。然后打開main.go文件,進(jìn)行更改。
說到接口就必不可少的涉及到傳值和接口返回,還有GET方式 、POST方式獲取數(shù)據(jù)。下面我們就先舉例來看看一個GET接口如何接收參數(shù)并且返回數(shù)據(jù),具體代碼如下:
package代碼前半部分還是跟第七講中一樣,我們只需要關(guān)注 c.Query 和 c.String這兩個差異點就可以了。c.Query方法相當(dāng)于Nodejs請求下圖代碼中的paramStr=url.parse(req.url).query;這一行代碼。
var就是在url中查找Key為firstname的字段,然后把value 返回給firstname。lastname也是的獲取方式也是一樣的。
至于c.String本身跟c.HTML還是有一些差異的。c.String有三個參數(shù),第一個是請求返回的Code碼,這個參數(shù)直接http.StatusOK就可以。第二個參數(shù)是返回字符串原型,第三個是需要替換的字符串變量。
c.HTML也有三個參數(shù),第一個也是請求返回的Code碼,第二個是渲染HTML的模板地址(可以是html也就是不能設(shè)置模板變量的,也可以是tmpl可以設(shè)置模板變量的),最后一個是就是需要展示的模板變量名。
具體函數(shù)先介紹到這里,后面我們看一下運行代碼之后的訪問界面。
訪問:http://localhost:9999/index?firstname=%22Chen1%22&lastname=%22Chen2%22
可以看到下圖,我們在訪問頁面請求時加入了firtname和lastname參數(shù)。然后在通過Gin的router獲取到了參數(shù)。最終把參數(shù)拼接為Hello "Chen1" "Chen2"字符串,返回給前端頁面。
GET方法返回頁面另外,在服務(wù)器控制臺我們也能看到用戶攜帶的對應(yīng)參數(shù)信息,這部分信息不是我們打印的,而是Gin自動會在控制臺拼接出訪問用戶的PATH,如下圖所示。
GET方法控制臺輸出我們已經(jīng)講過了GET請求的方式返回數(shù)據(jù),以及獲取URL中的參數(shù)。
接下來我們該完成另一個在平時開發(fā)中常用的接口形式——POST方法傳遞數(shù)據(jù)。
接下來我們把main.go文件改為下面的代碼。
package main import ("fmt""net/http""github.com/gin-gonic/gin" ) func main() {r := gin.Default()r.POST("/post", func(c *gin.Context) {name := c.PostForm("name") password := c.DefaultPostForm("password", "00000000")result, ok := c.GetPostForm("ok") fmt.Println(ok)c.String(http.StatusOK, "hello %s %s %s", name, password, result)})r.Run(":9999") // listen and serve on 0.0.0.0:9999 }然后執(zhí)行g(shù)o run main.go。
然后開啟postman,發(fā)POST送一個請求,并且設(shè)置對應(yīng)的參數(shù)name參數(shù)為aaaa,對應(yīng)的password參數(shù)為password,對應(yīng)的ok參數(shù)為ok。發(fā)送postman請求看看返回如下圖所示。
Gin的POST返回c.String(http.StatusOK, "hello %s %s %s", name, password, result)方法中,我們請求的參數(shù)都已經(jīng)返回。可以大家觀察到還有一個fmt.Println(ok)沒有輸出。fmt.Println(ok)要在控制臺中觀察。如下圖所示:
println方法打印的true下面我們就對在后端中獲取Gin中POST的參數(shù)的三個常用方法做一下介紹。
PostForm獲取POST參數(shù),如果沒有獲取到對應(yīng)key的返回值,觸發(fā)零值機(jī)制,返回空字符串
DefaultPostForm獲取POST參數(shù),如果沒有獲取到返回key的返回值,返回設(shè)置的默認(rèn)值,也就是DefaultPostForm函數(shù)的第二個參數(shù)。
GetPostForm獲取post參數(shù),但是有兩個返回值,第一個返回值表示返回結(jié)果,如果沒有獲取對應(yīng)key的返回值時,同樣出發(fā)零值機(jī)制,返回空字符串。第二個返回值會返回當(dāng)時key值是否存在的狀態(tài),能獲取到返回true,如果不能獲取到返回false。
到此最常用的兩種獲取數(shù)據(jù)方式就介紹到這里了,有了他們其實我們就可以應(yīng)對大部分的業(yè)務(wù)邏輯接口。
陳辰(CC老師) 978563552@qq.com
總結(jié)
以上是生活随笔為你收集整理的html请求接口_前端工程师吐后端工程师(第八讲)——接口的开发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: i12单双耳切换_多种形态,切换惬意,雷
- 下一篇: html 怎么让tr的css覆盖td的_