使用反射對繫結url引數到結構體
通過反射自動繫結url引數到結構體,同時支援對引數範圍進行校驗已經引數預設值的設定 example:
package main
import (
"net/http"
"fmt"
"github.com/lintanghui/parse"
)
func main(){
type v struct {
Data16 int8 `params:"aaa;Range(1,10)" default:"10"`
Data32 int32
Data64 int64 `params:"data64;Range(1,20)" default:"20"`
Float32 float32 `params:"ccc"`
String string `params:"sss" default:"-"`
SliceInt []int64 `params:"iii"`
SliceStr []string `params:"ttt"`
Bool bool `params:"bbb"`
}
req, err := http.NewRequest("GET", "http://www.linth.top/x?aaa=11&data64=33&Data32=32&string=aaa&iii=1,2,3&ttt=a,b,c&bbb=true&ccc=1.2", nil)
req.ParseForm()
if err != nil {
t.Log(err)
}
p := parse.New()
var data = &v{}
err = p.Bind(data, req.Form)
fmt.Printf("%+v",data)
// OUTPUT:
// &{Data16:10 Data32:32 Data64:20 Float32:1.2 String: SliceInt:[1 2 3] SliceStr:[a b c] Bool:true}
}
相關文章
- Apiware:一個輕鬆將net/http及fasthttp請求引數繫結到結構體的中介軟體APIHTTPAST結構體
- springmvc 引數繫結SpringMVC
- DIY 實現 ThinkPHP 核心框架 (十三)利用反射實現引數繫結PHP框架反射
- Grails中如何繫結引數AI
- SpringMVC中的引數繫結總結SpringMVC
- C技巧:結構體引數轉成不定引數結構體
- 如何在對in操作使用變數繫結(轉)變數
- 【體系結構】Oracle引數介紹Oracle
- Oracle體系結構-引數檔案Oracle
- PLSQL使用繫結變數SQL變數
- 【優化】使用繫結變數 OR 不使用繫結變數,這不是問題!優化變數
- 0、Java集合體繫結構—最全總結Java
- 【最佳化】使用繫結變數 OR 不使用繫結變數,這不是問題!變數
- js獲取url連結中的引數JS
- 使用繫結變數的一點總結!變數
- URL 結構分析
- .net core Web API引數繫結規則WebAPI
- 【工作篇】再次熟悉 SpringMVC 引數繫結SpringMVC
- dataGridView繫結Dictionary |Dictionary繫結到DataGridViewView
- oracle對非使用繫結變數的語句去重Oracle變數
- 繫結變數變數
- SQL Developer中使用繫結變數SQLDeveloper變數
- 繫結變數的使用範圍變數
- 關於繫結變數的使用變數
- Laravel 框架中 whereRaw like 引數繫結問題Laravel框架
- gin 註解路由,自動引數繫結工具路由
- SpringMVC原始碼之引數解析繫結原理SpringMVC原始碼
- gin自動引數繫結工具,rpc支援RPC
- SpringMVC的引數繫結-日期格式轉換SpringMVC
- [轉載]SpringMVC的Model引數繫結方式SpringMVC
- Java Web之SpringMVC 進行引數繫結JavaWebSpringMVC
- C語言_結構體變數指標做函式引數的使用案例C語言結構體變數指標函式
- 結構體引數的傳遞以及如何修改指標引數的值結構體指標
- javascript獲取url連結引數例項程式碼JavaScript
- 繫結變數之繫結變數窺探(Bind Peeking)變數
- InceptionResnetV1引數結構
- 【sql調優】使用繫結變數(二)SQL變數
- 【sql調優】使用繫結變數(一)SQL變數