使用反射對繫結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}
}
相關文章
- DIY 實現 ThinkPHP 核心框架 (十三)利用反射實現引數繫結PHP框架反射
- Grails中如何繫結引數AI
- 如何在對in操作使用變數繫結(轉)變數
- C技巧:結構體引數轉成不定引數結構體
- Gin 框架怎麼驗證繫結到結構體的欄位?框架結構體
- 0、Java集合體繫結構—最全總結Java
- 【工作篇】再次熟悉 SpringMVC 引數繫結SpringMVC
- URL 結構分析
- SpringMVC原始碼之引數解析繫結原理SpringMVC原始碼
- SpringMVC的引數繫結-日期格式轉換SpringMVC
- .net core Web API引數繫結規則WebAPI
- gin自動引數繫結工具,rpc支援RPC
- 在繫結變數下使用outline變數
- InceptionResnetV1引數結構
- gin 註解路由,自動引數繫結工具路由
- Laravel 框架中 whereRaw like 引數繫結問題Laravel框架
- 一篇文章搞定SpringMVC引數繫結SpringMVC
- 介面引數繫結, 公共處理程式碼生成工具
- 當儲存引數使用結構體時必備的開發技巧方式結構體
- 使用js修改url地址引數JS
- 結構體記憶體對齊結構體記憶體
- SAP OData V4 模型的絕對繫結和相對繫結模式模型模式
- SpringMVC【引數繫結、資料回顯、檔案上傳】SpringMVC
- 利用 Spring Boot 中的 @ConfigurationProperties,優雅繫結配置引數Spring Boot
- Go專案實戰—引數繫結,型別轉換Go型別
- C++17: 結構化繫結(Structured Bindings)C++Struct
- 【Golang】建立有配置引數的結構體時,可選引數應該怎麼傳?Golang結構體
- SAP UI5 資料繫結語法裡的特殊符號,以及絕對繫結和相對繫結概念詳解UI符號
- openai GPT引數(入參)使用總結OpenAIGPT
- 結構體中套用其他_結構體結構體
- VUE動態(自動)Loading【繫結到URL】,同頁面多個Loading互不衝突Vue
- 【思考】URI和URL的區別?以及URL的結構
- Java基礎對反射知識總結Java反射
- python json格式轉url引數&分割, url引數轉json格式PythonJSON
- WPF使用MVVM(二)-命令繫結MVVM
- IsWorld使用-公眾號繫結
- Swoole 使用on()繫結事件報錯事件
- 結構體的使用 for迴圈使用方式結構體
- 利用.htaccess繫結子域名到子目錄