Add an endpoint
The main feature of an API Gateway is to proxy requests to different services, so let's do this.
1. Adding a new endpoint
Now that you are authenticated, you can send a request to /apis to create a proxy.
Create an example.json file containing your endpoint configuration:
{
"name" : "my-endpoint",
"active" : true,
"proxy" : {
"listen_path" : "/example/*",
"upstreams" : {
"balancing": "roundrobin",
"targets": [
{"target": "http://www.mocky.io/v2/595625d22900008702cd71e8"}
]
},
"methods" : ["GET"]
}
}
And now let's add it to Janus:
http -v POST localhost:8081/apis "Authorization:Bearer yourToken" "Content-Type: application/json" < example.jsoncurl -X "POST" localhost:8081/apis -H "Authorization:Bearer yourToken" -H "Content-Type: application/json" -d @example.jsonThis will create a proxy to http://www.mocky.io/v2/595625d22900008702cd71e8 (which is a fake api) when you hit Janus on GET /example.
2. Verify that your API has been added
You can use the REST API to query all available APIs and Auth Providers. Simply make a request
to /apis:
http -v GET localhost:8081/apis "Authorization:Bearer yourToken" "Content-Type: application/json"curl -X "GET" localhost:8081/apis -H "Authorization:Bearer yourToken" -H "Content-Type: application/json"3. Forward your requests through Janus
Issue the following request to verify that Janus is properly forwarding
requests to your API. Note that by default Janus handles proxy
requests on port :8080:
http -v GET http://localhost:8080/examplecurl -vX "GET" http://localhost:8080/exampleA successful response means Janus is now forwarding requests made to http://localhost:8080 to the elected upstream target (chosen by the load balancer) that we configured in step #1, and is forwarding the response back to us.
Next we'll learn how to modify existing endpoint.