Commit 9fc6f989 by Clinton Blackburn Committed by Clinton Blackburn

Exposing limit and offset query string parameters in API gateway

This will allow users to better filter the catalog data they receive.

ECOM-5749
parent a7600fe7
......@@ -50,6 +50,18 @@ auth_header: &auth_header
required: true
type: "string"
limit_qs_parameter: &limit_qs_parameter
in: querystring
name: limit
required: false
type: number
offset_qs_parameter: &offset_qs_parameter
in: querystring
name: offset
required: false
type: number
# AWS API Gateway vendor extension point. This information is used
# by https://github.com/awslabs/aws-apigateway-importer.
x-amazon-apigateway-integration: &apigateway_integration
......@@ -76,6 +88,8 @@ endpoints:
produces: *produces
parameters:
- *auth_header
- *limit_qs_parameter
- *offset_qs_parameter
operationId: "get_catalogs"
responses: *responses
x-amazon-apigateway-integration:
......@@ -102,6 +116,8 @@ endpoints:
parameters:
- *auth_header
- *id_parameter
- *limit_qs_parameter
- *offset_qs_parameter
operationId: "get_catalog_courses"
responses: *responses
x-amazon-apigateway-integration:
......
......@@ -2,17 +2,42 @@
# This file was generated using http://www.yamllint.com/.
---
apigateway_responses:
200:
statusCode: "200"
401:
statusCode: "401"
403:
statusCode: "403"
404:
statusCode: "404"
429:
statusCode: "429"
500:
statusCode: "500"
default:
statusCode: "400"
auth_header:
in: header
name: Authorization
required: true
type: string
endpoints:
v1:
catalogs:
catalogById:
get:
operationId: get_catalogs
operationId: get_catalog_by_id
parameters:
-
in: header
name: Authorization
required: true
type: string
-
in: path
name: id
required: true
type: number
produces:
- application/json
- application/csv
......@@ -35,6 +60,7 @@ endpoints:
httpMethod: GET
requestParameters:
integration.request.header.Authorization: method.request.header.Authorization
integration.request.path.id: method.request.path.id
responses:
200:
statusCode: "200"
......@@ -51,10 +77,10 @@ endpoints:
default:
statusCode: "400"
type: http
uri: "https://${stageVariables.discovery_host}/v1/catalogs/"
catalogById:
uri: "https://${stageVariables.discovery_host}/v1/catalogs/{id}/"
catalogCourses:
get:
operationId: get_catalog_by_id
operationId: get_catalog_courses
parameters:
-
in: header
......@@ -66,6 +92,16 @@ endpoints:
name: id
required: true
type: number
-
in: querystring
name: limit
required: false
type: number
-
in: querystring
name: offset
required: false
type: number
produces:
- application/json
- application/csv
......@@ -105,10 +141,10 @@ endpoints:
default:
statusCode: "400"
type: http
uri: "https://${stageVariables.discovery_host}/v1/catalogs/{id}/"
catalogCourses:
uri: "https://${stageVariables.discovery_host}/v1/catalogs/{id}/courses/"
catalogs:
get:
operationId: get_catalog_courses
operationId: get_catalogs
parameters:
-
in: header
......@@ -116,9 +152,14 @@ endpoints:
required: true
type: string
-
in: path
name: id
required: true
in: querystring
name: limit
required: false
type: number
-
in: querystring
name: offset
required: false
type: number
produces:
- application/json
......@@ -142,7 +183,6 @@ endpoints:
httpMethod: GET
requestParameters:
integration.request.header.Authorization: method.request.header.Authorization
integration.request.path.id: method.request.path.id
responses:
200:
statusCode: "200"
......@@ -159,4 +199,4 @@ endpoints:
default:
statusCode: "400"
type: http
uri: "https://${stageVariables.discovery_host}/v1/catalogs/{id}/courses/"
uri: "https://${stageVariables.discovery_host}/v1/catalogs/"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment