示例1,提交Json请求

  1. g.Client().ContentJson().PostContent(ctx, "http://order.svc/v1/order", g.Map{
  2. "uid" : 1,
  3. "sku_id" : 10000,
  4. "amount" : 19.99,
  5. "create_time" : "2020-03-26 12:00:00",
  6. })

该请求将会将Content-Type设置为application/json,并且将提交参数自动编码为Json:

  1. {"uid":1,"sku_id":10000,"amount":19.99,"create_time":"2020-03-26 12:00:00"}

示例2,提交Xml请求

  1. g.Client().ContentXml().PostContent(ctx, "http://order.svc/v1/order", g.Map{
  2. "uid" : 1,
  3. "sku_id" : 10000,
  4. "amount" : 19.99,
  5. "create_time" : "2020-03-26 12:00:00",
  6. })

该请求将会将Content-Type设置为application/xml,并且将提交参数自动编码为Xml:

  1. <doc><amount>19.99</amount><create_time>2020-03-26 12:00:00</create_time><sku_id>10000</sku_id><uid>1</uid></doc>

示例3,自定义ContentType

我们可以通过ContentType方法自定义客户端请求的ContentType。例如:

  1. contentType := "application/x-www-form-urlencoded"
  2. g.Client().ContentType(contentType).PostContent("http://file.svc/v1/file", g.Map{
  3. "name" : "MyFile",
  4. "@file" : "/tmp/upload/file.txt",
  5. })