GET request
downstream service url is 127.0.0.1:1314/user?name=tc downstream service url is 127.0.0.1:1314/user/:name
POST request
downstream service url is 127.0.0.1:1314/user request body as below:
type User struct {
Name stringjson:"name"
Age int32json:"age"
Time time.Timejson:"time"
}
name: pixiu description: pixiu sample resources: - path: '/api/v1/test-http/user' type: restful description: user methods: - httpVerb: GET onAir: true timeout: 1000ms inboundRequest: requestType: http queryStrings: - name: name required: true integrationRequest: requestType: http host: "127.0.0.1:1314" path: "/user" - httpVerb: POST onAir: true timeout: 10s inboundRequest: requestType: http integrationRequest: requestType: http host: "127.0.0.1:1314" path: "/user/" resources: - path: '/:name' type: restful description: user methods: - httpVerb: GET onAir: true timeout: 1000ms inboundRequest: requestType: http queryStrings: - name: name required: true integrationRequest: requestType: http mappingParams: - name: uri.name mapTo: uri.name host: "127.0.0.1:1314" path: "/user/:name" - httpVerb: POST onAir: true timeout: 10s inboundRequest: requestType: http integrationRequest: requestType: http host: "127.0.0.1:1314" path: "/user/" mappingParams: - name: uri.name mapTo: requestBody.name - name: requestBody.age mapTo: requestBody.age - name: queryStrings.time mapTo: requestBody.time
curl --request GET 'localhost:8888/api/v1/test-http/user?name=joe2'
{ "id": "XVlBz", "name": "joe2", "age": 20, "time": "2021-01-01T00:00:00Z" }
curl --request POST 'localhost:8888/api/v1/test-http/user/tc2?time=2021-01-01T00:00:00Z' \ --header 'Content-Type: application/json' \ --data-raw '{ "age": 19 }'
{ "id": "XVlBz", "name": "tc2", "age": 19, "time": "2021-01-01T00:00:00Z" }
curl --request GET 'localhost:8888/api/v1/test-http/user/tc'
{ "id": "0001", "name": "tc", "age": 18, "time": "2020-12-28T13:38:25.687309+08:00" }