8000 GitHub - TomWright/queryparam at v3.0.1
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Go package to easily convert a URL's query parameters/values into usable struct values of the correct types.

License

Notifications You must be signed in to change notification settings

TomWright/queryparam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Query Param

Build Status codecov Go Report Card Documentation

Query param makes it easy to access the query parameters stored in a URL.

Installation

go get -u github.com/tomwright/queryparam

Examples

Parsing a simple URL

type GetUsersRequest struct {
	Name   string `queryparam:"name"`
	Age    int `queryparam:"age"`
	Gender string `queryparam:"gender"`
}

u, err := url.Parse("https://example.com/users?name=Tom&age=23")
if err != nil {
    panic(err)
}

req := &GetUsersRequest{}

err = queryparam.Parse(u, req)
if err != nil {
    panic(err)
}

fmt.Println(req.Name) // "Tom"
fmt.Println(req.Age) // 23
fmt.Println(req.Gender) // ""

Parsing a URL with delimited parameters

type GetUsersRequest struct {
	Name   []string `queryparam:"name"`
}

u, err := url.Parse("https://example.com/users?name=Tom,Jim")
if err != nil {
    panic(err)
}

req := &GetUsersRequest{}

err = queryparam.Parse(u, req)
if err != nil {
    panic(err)
}

fmt.Println(req.Name) // { "Tom", "Jim" }

If you want to change the delimiter you can do so by changing the value of queryparam.Delimiter.

The default value is ,.

Parsing a URL from a HTTP Request

var r *http.Request
// Receive r in a http handler...

type GetUsersRequest struct {
	Name   string `queryparam:"name"`
	Age    int `queryparam:"age"`
	Gender string `queryparam:"gender"`
}

req := &GetUsersRequest{}
err = queryparam.Parse(r.URL, req)
if err != nil {
    panic(err)
}

// Do something with req...

About

Go package to easily convert a URL's query parameters/values into usable struct values of the correct types.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Languages

0