@typespec/http-specs 0.1.0-alpha.24-dev.2 → 0.1.0-alpha.24-dev.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/specs/payload/pageable/mockapi.js +221 -0
- package/dist/specs/payload/pageable/mockapi.js.map +1 -1
- package/package.json +1 -1
- package/spec-summary.md +140 -0
- package/specs/payload/pageable/main.tsp +162 -0
- package/specs/payload/pageable/mockapi.ts +245 -0
- package/temp/.tsbuildinfo +1 -1
|
@@ -94,6 +94,39 @@ Scenarios.Payload_Pageable_ServerDrivenPagination_link = passOnSuccess([
|
|
|
94
94
|
kind: "MockApiDefinition",
|
|
95
95
|
},
|
|
96
96
|
]);
|
|
97
|
+
Scenarios.Payload_Pageable_ServerDrivenPagination_nestedLink = passOnSuccess([
|
|
98
|
+
{
|
|
99
|
+
uri: "/payload/pageable/server-driven-pagination/nested-link",
|
|
100
|
+
method: "get",
|
|
101
|
+
request: {},
|
|
102
|
+
response: {
|
|
103
|
+
status: 200,
|
|
104
|
+
body: json({
|
|
105
|
+
nestedItems: {
|
|
106
|
+
pets: FirstPage,
|
|
107
|
+
},
|
|
108
|
+
nestedNext: {
|
|
109
|
+
next: dyn `${dynItem("baseUrl")}/payload/pageable/server-driven-pagination/nested-link/nextPage`,
|
|
110
|
+
},
|
|
111
|
+
}),
|
|
112
|
+
},
|
|
113
|
+
kind: "MockApiDefinition",
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
uri: "/payload/pageable/server-driven-pagination/nested-link/nextPage",
|
|
117
|
+
method: "get",
|
|
118
|
+
request: {},
|
|
119
|
+
response: {
|
|
120
|
+
status: 200,
|
|
121
|
+
body: json({
|
|
122
|
+
nestedItems: {
|
|
123
|
+
pets: SecondPage,
|
|
124
|
+
},
|
|
125
|
+
}),
|
|
126
|
+
},
|
|
127
|
+
kind: "MockApiDefinition",
|
|
128
|
+
},
|
|
129
|
+
]);
|
|
97
130
|
Scenarios.Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestQueryResponseBody =
|
|
98
131
|
createTests("query", "body");
|
|
99
132
|
Scenarios.Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestHeaderResponseBody =
|
|
@@ -102,4 +135,192 @@ Scenarios.Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestQuery
|
|
|
102
135
|
createTests("query", "header");
|
|
103
136
|
Scenarios.Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestHeaderResponseHeader =
|
|
104
137
|
createTests("header", "header");
|
|
138
|
+
Scenarios.Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestQueryNestedResponseBody =
|
|
139
|
+
passOnSuccess([
|
|
140
|
+
{
|
|
141
|
+
uri: "/payload/pageable/server-driven-pagination/continuationtoken/request-query-nested-response-body",
|
|
142
|
+
method: "get",
|
|
143
|
+
request: { headers: { foo: "foo" }, query: { bar: "bar" } },
|
|
144
|
+
response: {
|
|
145
|
+
status: 200,
|
|
146
|
+
body: json({
|
|
147
|
+
nestedItems: {
|
|
148
|
+
pets: FirstPage,
|
|
149
|
+
},
|
|
150
|
+
nestedNext: {
|
|
151
|
+
nextToken: "page2",
|
|
152
|
+
},
|
|
153
|
+
}),
|
|
154
|
+
},
|
|
155
|
+
handler: (req) => {
|
|
156
|
+
req.expect.containsHeader("foo", "foo");
|
|
157
|
+
req.expect.containsQueryParam("bar", "bar");
|
|
158
|
+
const token = req.query?.token;
|
|
159
|
+
switch (token) {
|
|
160
|
+
case undefined:
|
|
161
|
+
return {
|
|
162
|
+
status: 200,
|
|
163
|
+
body: json({
|
|
164
|
+
nestedItems: {
|
|
165
|
+
pets: FirstPage,
|
|
166
|
+
},
|
|
167
|
+
nestedNext: {
|
|
168
|
+
nextToken: "page2",
|
|
169
|
+
},
|
|
170
|
+
}),
|
|
171
|
+
};
|
|
172
|
+
case "page2":
|
|
173
|
+
return {
|
|
174
|
+
status: 200,
|
|
175
|
+
body: json({
|
|
176
|
+
nestedItems: {
|
|
177
|
+
pets: SecondPage,
|
|
178
|
+
},
|
|
179
|
+
}),
|
|
180
|
+
};
|
|
181
|
+
default:
|
|
182
|
+
throw new ValidationError("Unsupported continuation token", `"undefined" | "page2"`, token);
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
kind: "MockApiDefinition",
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
uri: "/payload/pageable/server-driven-pagination/continuationtoken/request-query-nested-response-body",
|
|
189
|
+
method: "get",
|
|
190
|
+
request: RequestTokenInQuery,
|
|
191
|
+
response: {
|
|
192
|
+
status: 200,
|
|
193
|
+
body: json({
|
|
194
|
+
nestedItems: {
|
|
195
|
+
pets: SecondPage,
|
|
196
|
+
},
|
|
197
|
+
}),
|
|
198
|
+
},
|
|
199
|
+
handler: (req) => {
|
|
200
|
+
req.expect.containsHeader("foo", "foo");
|
|
201
|
+
req.expect.containsQueryParam("bar", "bar");
|
|
202
|
+
const token = req.query?.token;
|
|
203
|
+
switch (token) {
|
|
204
|
+
case undefined:
|
|
205
|
+
return {
|
|
206
|
+
status: 200,
|
|
207
|
+
body: json({
|
|
208
|
+
nestedItems: {
|
|
209
|
+
pets: FirstPage,
|
|
210
|
+
},
|
|
211
|
+
nestedNext: {
|
|
212
|
+
nextToken: "page2",
|
|
213
|
+
},
|
|
214
|
+
}),
|
|
215
|
+
};
|
|
216
|
+
case "page2":
|
|
217
|
+
return {
|
|
218
|
+
status: 200,
|
|
219
|
+
body: json({
|
|
220
|
+
nestedItems: {
|
|
221
|
+
pets: SecondPage,
|
|
222
|
+
},
|
|
223
|
+
}),
|
|
224
|
+
};
|
|
225
|
+
default:
|
|
226
|
+
throw new ValidationError("Unsupported continuation token", `"undefined" | "page2"`, token);
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
kind: "MockApiDefinition",
|
|
230
|
+
},
|
|
231
|
+
]);
|
|
232
|
+
Scenarios.Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestHeaderNestedResponseBody =
|
|
233
|
+
passOnSuccess([
|
|
234
|
+
{
|
|
235
|
+
uri: "/payload/pageable/server-driven-pagination/continuationtoken/request-header-nested-response-body",
|
|
236
|
+
method: "get",
|
|
237
|
+
request: { headers: { foo: "foo" }, query: { bar: "bar" } },
|
|
238
|
+
response: {
|
|
239
|
+
status: 200,
|
|
240
|
+
body: json({
|
|
241
|
+
nestedItems: {
|
|
242
|
+
pets: FirstPage,
|
|
243
|
+
},
|
|
244
|
+
nestedNext: {
|
|
245
|
+
nextToken: "page2",
|
|
246
|
+
},
|
|
247
|
+
}),
|
|
248
|
+
},
|
|
249
|
+
handler: (req) => {
|
|
250
|
+
req.expect.containsHeader("foo", "foo");
|
|
251
|
+
req.expect.containsQueryParam("bar", "bar");
|
|
252
|
+
const token = req.headers?.token;
|
|
253
|
+
switch (token) {
|
|
254
|
+
case undefined:
|
|
255
|
+
return {
|
|
256
|
+
status: 200,
|
|
257
|
+
body: json({
|
|
258
|
+
nestedItems: {
|
|
259
|
+
pets: FirstPage,
|
|
260
|
+
},
|
|
261
|
+
nestedNext: {
|
|
262
|
+
nextToken: "page2",
|
|
263
|
+
},
|
|
264
|
+
}),
|
|
265
|
+
};
|
|
266
|
+
case "page2":
|
|
267
|
+
return {
|
|
268
|
+
status: 200,
|
|
269
|
+
body: json({
|
|
270
|
+
nestedItems: {
|
|
271
|
+
pets: SecondPage,
|
|
272
|
+
},
|
|
273
|
+
}),
|
|
274
|
+
};
|
|
275
|
+
default:
|
|
276
|
+
throw new ValidationError("Unsupported continuation token", `"undefined" | "page2"`, token);
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
kind: "MockApiDefinition",
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
uri: "/payload/pageable/server-driven-pagination/continuationtoken/request-header-nested-response-body",
|
|
283
|
+
method: "get",
|
|
284
|
+
request: RequestTokenInHeader,
|
|
285
|
+
response: {
|
|
286
|
+
status: 200,
|
|
287
|
+
body: json({
|
|
288
|
+
nestedItems: {
|
|
289
|
+
pets: SecondPage,
|
|
290
|
+
},
|
|
291
|
+
}),
|
|
292
|
+
},
|
|
293
|
+
handler: (req) => {
|
|
294
|
+
req.expect.containsHeader("foo", "foo");
|
|
295
|
+
req.expect.containsQueryParam("bar", "bar");
|
|
296
|
+
const token = req.headers?.token;
|
|
297
|
+
switch (token) {
|
|
298
|
+
case undefined:
|
|
299
|
+
return {
|
|
300
|
+
status: 200,
|
|
301
|
+
body: json({
|
|
302
|
+
nestedItems: {
|
|
303
|
+
pets: FirstPage,
|
|
304
|
+
},
|
|
305
|
+
nestedNext: {
|
|
306
|
+
nextToken: "page2",
|
|
307
|
+
},
|
|
308
|
+
}),
|
|
309
|
+
};
|
|
310
|
+
case "page2":
|
|
311
|
+
return {
|
|
312
|
+
status: 200,
|
|
313
|
+
body: json({
|
|
314
|
+
nestedItems: {
|
|
315
|
+
pets: SecondPage,
|
|
316
|
+
},
|
|
317
|
+
}),
|
|
318
|
+
};
|
|
319
|
+
default:
|
|
320
|
+
throw new ValidationError("Unsupported continuation token", `"undefined" | "page2"`, token);
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
kind: "MockApiDefinition",
|
|
324
|
+
},
|
|
325
|
+
]);
|
|
105
326
|
//# sourceMappingURL=mockapi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/payload/pageable/mockapi.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/payload/pageable/mockapi.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/spec-summary.md
CHANGED
|
@@ -1696,6 +1696,56 @@ Content-Type: application/octet-stream
|
|
|
1696
1696
|
--abcde12345--
|
|
1697
1697
|
```
|
|
1698
1698
|
|
|
1699
|
+
### Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestHeaderNestedResponseBody
|
|
1700
|
+
|
|
1701
|
+
- Endpoint: `get /payload/pageable/server-driven-pagination/continuationtoken/request-header-nested-response-body`
|
|
1702
|
+
|
|
1703
|
+
Test case for using continuation token as pagination with nested response structure. Continuation token is passed in the request header and nested within response body.
|
|
1704
|
+
|
|
1705
|
+
Two requests need to be tested.
|
|
1706
|
+
|
|
1707
|
+
1. Initial request:
|
|
1708
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-header-nested-response-body?bar=bar
|
|
1709
|
+
|
|
1710
|
+
Expected request header:
|
|
1711
|
+
foo=foo
|
|
1712
|
+
|
|
1713
|
+
Expected response body:
|
|
1714
|
+
|
|
1715
|
+
```json
|
|
1716
|
+
{
|
|
1717
|
+
"nestedItems": {
|
|
1718
|
+
"pets": [
|
|
1719
|
+
{ "id": "1", "name": "dog" },
|
|
1720
|
+
{ "id": "2", "name": "cat" }
|
|
1721
|
+
]
|
|
1722
|
+
},
|
|
1723
|
+
"next": {
|
|
1724
|
+
"nextToken": "page2"
|
|
1725
|
+
}
|
|
1726
|
+
}
|
|
1727
|
+
```
|
|
1728
|
+
|
|
1729
|
+
2. Next page request:
|
|
1730
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-header-nested-response-body?bar=bar
|
|
1731
|
+
|
|
1732
|
+
Expected request header:
|
|
1733
|
+
token=page2
|
|
1734
|
+
foo=foo
|
|
1735
|
+
|
|
1736
|
+
Expected response body:
|
|
1737
|
+
|
|
1738
|
+
```json
|
|
1739
|
+
{
|
|
1740
|
+
"nestedItems": {
|
|
1741
|
+
"pets": [
|
|
1742
|
+
{ "id": "3", "name": "bird" },
|
|
1743
|
+
{ "id": "4", "name": "fish" }
|
|
1744
|
+
]
|
|
1745
|
+
}
|
|
1746
|
+
}
|
|
1747
|
+
```
|
|
1748
|
+
|
|
1699
1749
|
### Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestHeaderResponseBody
|
|
1700
1750
|
|
|
1701
1751
|
- Endpoint: `get /payload/pageable/server-driven-pagination/continuationtoken/request-header-response-body`
|
|
@@ -1786,6 +1836,55 @@ Expected response body:
|
|
|
1786
1836
|
}
|
|
1787
1837
|
```
|
|
1788
1838
|
|
|
1839
|
+
### Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestQueryNestedResponseBody
|
|
1840
|
+
|
|
1841
|
+
- Endpoint: `get /payload/pageable/server-driven-pagination/continuationtoken/request-query-nested-response-body`
|
|
1842
|
+
|
|
1843
|
+
Test case for using continuation token as pagination with nested response structure. Continuation token is passed in the request query and nested within response body.
|
|
1844
|
+
|
|
1845
|
+
Two requests need to be tested.
|
|
1846
|
+
|
|
1847
|
+
1. Initial request:
|
|
1848
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-query-nested-response-body?bar=bar
|
|
1849
|
+
|
|
1850
|
+
Expected request header:
|
|
1851
|
+
foo=foo
|
|
1852
|
+
|
|
1853
|
+
Expected response body:
|
|
1854
|
+
|
|
1855
|
+
```json
|
|
1856
|
+
{
|
|
1857
|
+
"nestedItems": {
|
|
1858
|
+
"pets": [
|
|
1859
|
+
{ "id": "1", "name": "dog" },
|
|
1860
|
+
{ "id": "2", "name": "cat" }
|
|
1861
|
+
]
|
|
1862
|
+
},
|
|
1863
|
+
"nestedNext": {
|
|
1864
|
+
"nextToken": "page2"
|
|
1865
|
+
}
|
|
1866
|
+
}
|
|
1867
|
+
```
|
|
1868
|
+
|
|
1869
|
+
2. Next page request:
|
|
1870
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-query-nested-response-body?bar=bar&token=page2
|
|
1871
|
+
|
|
1872
|
+
Expected request header:
|
|
1873
|
+
foo=foo
|
|
1874
|
+
|
|
1875
|
+
Expected response body:
|
|
1876
|
+
|
|
1877
|
+
```json
|
|
1878
|
+
{
|
|
1879
|
+
"nestedItems": {
|
|
1880
|
+
"pets": [
|
|
1881
|
+
{ "id": "3", "name": "bird" },
|
|
1882
|
+
{ "id": "4", "name": "fish" }
|
|
1883
|
+
]
|
|
1884
|
+
}
|
|
1885
|
+
}
|
|
1886
|
+
```
|
|
1887
|
+
|
|
1789
1888
|
### Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestQueryResponseBody
|
|
1790
1889
|
|
|
1791
1890
|
- Endpoint: `get /payload/pageable/server-driven-pagination/continuationtoken/request-query-response-body`
|
|
@@ -1909,6 +2008,47 @@ Two requests need to be tested.
|
|
|
1909
2008
|
}
|
|
1910
2009
|
```
|
|
1911
2010
|
|
|
2011
|
+
### Payload_Pageable_ServerDrivenPagination_nestedLink
|
|
2012
|
+
|
|
2013
|
+
- Endpoint: `get /payload/pageable/server-driven-pagination/nested-link`
|
|
2014
|
+
|
|
2015
|
+
Test case for using link as pagination with nested structure.
|
|
2016
|
+
|
|
2017
|
+
Two requests need to be tested.
|
|
2018
|
+
|
|
2019
|
+
1. Initial request:
|
|
2020
|
+
Expected route: /payload/pageable/server-driven-pagination/nested-link
|
|
2021
|
+
Expected response body:
|
|
2022
|
+
|
|
2023
|
+
```json
|
|
2024
|
+
{
|
|
2025
|
+
"nestedItems": {
|
|
2026
|
+
"pets": [
|
|
2027
|
+
{ "id": "1", "name": "dog" },
|
|
2028
|
+
{ "id": "2", "name": "cat" }
|
|
2029
|
+
]
|
|
2030
|
+
},
|
|
2031
|
+
"nestedNext": {
|
|
2032
|
+
"next": "http://[host]:[port]/payload/pageable/server-driven-pagination/nested-link/nextPage"
|
|
2033
|
+
}
|
|
2034
|
+
}
|
|
2035
|
+
```
|
|
2036
|
+
|
|
2037
|
+
2. Next page request:
|
|
2038
|
+
Expected route: /payload/pageable/server-driven-pagination/nested-link/nextPage
|
|
2039
|
+
Expected response body:
|
|
2040
|
+
|
|
2041
|
+
```json
|
|
2042
|
+
{
|
|
2043
|
+
"nestedItems": {
|
|
2044
|
+
"pets": [
|
|
2045
|
+
{ "id": "3", "name": "bird" },
|
|
2046
|
+
{ "id": "4", "name": "fish" }
|
|
2047
|
+
]
|
|
2048
|
+
}
|
|
2049
|
+
}
|
|
2050
|
+
```
|
|
2051
|
+
|
|
1912
2052
|
### Payload_Xml_ModelWithArrayOfModelValue_get
|
|
1913
2053
|
|
|
1914
2054
|
- Endpoint: `get /payload/xml/modelWithArrayOfModel`
|
|
@@ -58,6 +58,51 @@ namespace ServerDrivenPagination {
|
|
|
58
58
|
@nextLink next?: url;
|
|
59
59
|
};
|
|
60
60
|
|
|
61
|
+
@scenario
|
|
62
|
+
@scenarioDoc("""
|
|
63
|
+
Test case for using link as pagination with nested structure.
|
|
64
|
+
|
|
65
|
+
Two requests need to be tested.
|
|
66
|
+
1. Initial request:
|
|
67
|
+
Expected route: /payload/pageable/server-driven-pagination/nested-link
|
|
68
|
+
Expected response body:
|
|
69
|
+
```json
|
|
70
|
+
{ "nestedItems": {
|
|
71
|
+
"pets": [
|
|
72
|
+
{ "id": "1", "name": "dog" },
|
|
73
|
+
{ "id": "2", "name": "cat" }
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
"nestedNext": {
|
|
77
|
+
"next": "http://[host]:[port]/payload/pageable/server-driven-pagination/nested-link/nextPage"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
2. Next page request:
|
|
82
|
+
Expected route: /payload/pageable/server-driven-pagination/nested-link/nextPage
|
|
83
|
+
Expected response body:
|
|
84
|
+
```json
|
|
85
|
+
{ "nestedItems": {
|
|
86
|
+
"pets": [
|
|
87
|
+
{ "id": "3", "name": "bird" },
|
|
88
|
+
{ "id": "4", "name": "fish" }
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
""")
|
|
94
|
+
@route("/nested-link")
|
|
95
|
+
@list
|
|
96
|
+
op nestedLink(): {
|
|
97
|
+
nestedItems: {
|
|
98
|
+
@pageItems
|
|
99
|
+
pets: Pet[];
|
|
100
|
+
};
|
|
101
|
+
nestedNext: {
|
|
102
|
+
@nextLink next?: url;
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
|
|
61
106
|
@route("/continuationtoken")
|
|
62
107
|
namespace ContinuationToken {
|
|
63
108
|
@scenario
|
|
@@ -248,5 +293,122 @@ namespace ServerDrivenPagination {
|
|
|
248
293
|
|
|
249
294
|
@continuationToken @header nextToken?: string;
|
|
250
295
|
};
|
|
296
|
+
|
|
297
|
+
@scenario
|
|
298
|
+
@scenarioDoc("""
|
|
299
|
+
Test case for using continuation token as pagination with nested response structure. Continuation token is passed in the request query and nested within response body.
|
|
300
|
+
|
|
301
|
+
Two requests need to be tested.
|
|
302
|
+
|
|
303
|
+
1. Initial request:
|
|
304
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-query-nested-response-body?bar=bar
|
|
305
|
+
|
|
306
|
+
Expected request header:
|
|
307
|
+
foo=foo
|
|
308
|
+
|
|
309
|
+
Expected response body:
|
|
310
|
+
```json
|
|
311
|
+
{ "nestedItems": {
|
|
312
|
+
"pets": [
|
|
313
|
+
{ "id": "1", "name": "dog" },
|
|
314
|
+
{ "id": "2", "name": "cat" }
|
|
315
|
+
]
|
|
316
|
+
},
|
|
317
|
+
"nestedNext": {
|
|
318
|
+
"nextToken": "page2"
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
2. Next page request:
|
|
324
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-query-nested-response-body?bar=bar&token=page2
|
|
325
|
+
|
|
326
|
+
Expected request header:
|
|
327
|
+
foo=foo
|
|
328
|
+
|
|
329
|
+
Expected response body:
|
|
330
|
+
```json
|
|
331
|
+
{ "nestedItems": {
|
|
332
|
+
"pets": [
|
|
333
|
+
{ "id": "3", "name": "bird" },
|
|
334
|
+
{ "id": "4", "name": "fish" }
|
|
335
|
+
]
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
```
|
|
339
|
+
""")
|
|
340
|
+
@route("/request-query-nested-response-body")
|
|
341
|
+
@list
|
|
342
|
+
op requestQueryNestedResponseBody(
|
|
343
|
+
@continuationToken @query token?: string,
|
|
344
|
+
...HeaderAndQuery,
|
|
345
|
+
): {
|
|
346
|
+
nestedItems: {
|
|
347
|
+
@pageItems
|
|
348
|
+
pets: Pet[];
|
|
349
|
+
};
|
|
350
|
+
nestedNext?: {
|
|
351
|
+
@continuationToken nextToken?: string;
|
|
352
|
+
};
|
|
353
|
+
};
|
|
354
|
+
|
|
355
|
+
@scenario
|
|
356
|
+
@scenarioDoc("""
|
|
357
|
+
Test case for using continuation token as pagination with nested response structure. Continuation token is passed in the request header and nested within response body.
|
|
358
|
+
|
|
359
|
+
Two requests need to be tested.
|
|
360
|
+
|
|
361
|
+
1. Initial request:
|
|
362
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-header-nested-response-body?bar=bar
|
|
363
|
+
|
|
364
|
+
Expected request header:
|
|
365
|
+
foo=foo
|
|
366
|
+
|
|
367
|
+
Expected response body:
|
|
368
|
+
```json
|
|
369
|
+
{ "nestedItems": {
|
|
370
|
+
"pets": [
|
|
371
|
+
{ "id": "1", "name": "dog" },
|
|
372
|
+
{ "id": "2", "name": "cat" }
|
|
373
|
+
]
|
|
374
|
+
},
|
|
375
|
+
"next": {
|
|
376
|
+
"nextToken": "page2"
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
2. Next page request:
|
|
382
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-header-nested-response-body?bar=bar
|
|
383
|
+
|
|
384
|
+
Expected request header:
|
|
385
|
+
token=page2
|
|
386
|
+
foo=foo
|
|
387
|
+
|
|
388
|
+
Expected response body:
|
|
389
|
+
```json
|
|
390
|
+
{ "nestedItems": {
|
|
391
|
+
"pets": [
|
|
392
|
+
{ "id": "3", "name": "bird" },
|
|
393
|
+
{ "id": "4", "name": "fish" }
|
|
394
|
+
]
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
```
|
|
398
|
+
""")
|
|
399
|
+
@route("/request-header-nested-response-body")
|
|
400
|
+
@list
|
|
401
|
+
op requestHeaderNestedResponseBody(
|
|
402
|
+
@continuationToken @header token?: string,
|
|
403
|
+
...HeaderAndQuery,
|
|
404
|
+
): {
|
|
405
|
+
nestedItems: {
|
|
406
|
+
@pageItems
|
|
407
|
+
pets: Pet[];
|
|
408
|
+
};
|
|
409
|
+
nestedNext?: {
|
|
410
|
+
@continuationToken nextToken?: string;
|
|
411
|
+
};
|
|
412
|
+
};
|
|
251
413
|
}
|
|
252
414
|
}
|