正文
要求在页面查询到5000条数据,为了方便插入,用shell脚本写curl命令调用自己写的代码接口;
脚本如下:
#!/bin/bash
a=0
while [ $a -le 10 ]; do
# length of ts is 13 required,Through the following way like this
ts=`date +%s%N`
ts=${ts:0:13}
json='{"name" : "'$1$a'", "age" : '$2', "ts" : '$ts'}'
a=$((a+1))
curl -k -H 'Content-Type:application/json;charset=utf-8' http://192.168.2.5:8080 -X POST -d "'$json'"
done
执行脚本
sh batch_curl.sh gege 21
执行结果
该接口是用go语言提供的demo接口:如下:
- 目录结构:
- app.conf
copyrequestbody = true
- controller.go
package controller
import (
"github.com/astaxie/beego"
"fmt"
)
type SayHelloController struct {
beego.Controller
}
func (this *SayHelloController) SayHello(){
fmt.Println("RequestBody is ", string(this.Ctx.Input.RequestBody))
this.Ctx.Output.Header("Content-type", "application/json;charset=utf-8")
this.Ctx.Output.SetStatus(200)
this.Ctx.Output.Body(this.Ctx.Input.RequestBody)
}
- router.go
package router
import (
"github.com/astaxie/beego"
"sayHello/controller"
)
var hello = controller.SayHelloController{}
func init() {
beego.Router("/", &hello, "POST:SayHello")
}
- main.go
package main
import (
"github.com/astaxie/beego"
_ "sayHello/router"
"fmt"
)
func main() {
fmt.Println(beego.BConfig.CopyRequestBody)
beego.Run()
}