Categorygithub.com/liujianping/api
repositorypackage
0.9.2
Repository: https://github.com/liujianping/api.git
Documentation: pkg.go.dev

# README

api, another http request wrapper

===

Simplified HTTP client library :D

Quick Start


	import "github.com/liujianping/api"

	//! create api request agent

	agent := api.URL("http://a.domain.com/")
	agent := api.HTTP("host:port")
	agent := api.HTTPs("host")
	
	agent := api.Get("http://a.domain.com/")
	// agent := api.URL("http://a.domain.com/").Method(api.GET)

	agent := api.Post("http://a.domain.com/")
	agent := api.Patch("http://a.domain.com/")
	agent := api.Put("http://a.domain.com/")
	agent := api.Head("http://a.domain.com/")

	//! set api request method & URI & headers & parameters & form-data
	agent.Transport(tr)

	agent.Method(api.POST)

	agent.URI("/cgi/token")

	agent.HeadSet("key", "value")
	agent.HeadDel("key", "value")

	agent.QuerySet("key", "value")
	agent.QueryAdd("key", "value")
	agent.QueryDel("key", "value")

	agent.FormData(form)
	agent.JSONData(obj)
	agent.XMLData(obj)

	//! multipart file
	fd, _ := api.NewFile("field", "/path/to/file")
	agent.FileData(fd)

	//! chain invoke
	var result Result{}

	if err := api.HTTP("api.demo.com:8080").URI("/a/b/c").QuerySet("x", "y").JSONData(map[string]interface{}{
		"aaa": "xxx",
		"bbb": 100,
		}).Method(api.POST).JSON(&result).Error; err != nil {
			//! do something
		}


	//! do api request
	resp, err := agent.Do()

	code, []byte, err := agent.Bytes()

	code, string, err := agent.Text()

	code, err := agent.JSON(&json)

	code, err := agent.XML(&xml)