@typespec/http-specs 0.37.2
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/CHANGELOG.md +1 -0
- package/LICENSE +21 -0
- package/README.md +36 -0
- package/assets/image.jpg +0 -0
- package/assets/image.png +0 -0
- package/dist/specs/authentication/api-key/mockapi.d.ts +3 -0
- package/dist/specs/authentication/api-key/mockapi.d.ts.map +1 -0
- package/dist/specs/authentication/api-key/mockapi.js +45 -0
- package/dist/specs/authentication/api-key/mockapi.js.map +1 -0
- package/dist/specs/authentication/commonapi.d.ts +9 -0
- package/dist/specs/authentication/commonapi.d.ts.map +1 -0
- package/dist/specs/authentication/commonapi.js +19 -0
- package/dist/specs/authentication/commonapi.js.map +1 -0
- package/dist/specs/authentication/http/custom/mockapi.d.ts +3 -0
- package/dist/specs/authentication/http/custom/mockapi.d.ts.map +1 -0
- package/dist/specs/authentication/http/custom/mockapi.js +45 -0
- package/dist/specs/authentication/http/custom/mockapi.js.map +1 -0
- package/dist/specs/authentication/oauth2/mockapi.d.ts +3 -0
- package/dist/specs/authentication/oauth2/mockapi.d.ts.map +1 -0
- package/dist/specs/authentication/oauth2/mockapi.js +42 -0
- package/dist/specs/authentication/oauth2/mockapi.js.map +1 -0
- package/dist/specs/authentication/union/mockapi.d.ts +3 -0
- package/dist/specs/authentication/union/mockapi.d.ts.map +1 -0
- package/dist/specs/authentication/union/mockapi.js +37 -0
- package/dist/specs/authentication/union/mockapi.js.map +1 -0
- package/dist/specs/encode/bytes/mockapi.d.ts +3 -0
- package/dist/specs/encode/bytes/mockapi.d.ts.map +1 -0
- package/dist/specs/encode/bytes/mockapi.js +179 -0
- package/dist/specs/encode/bytes/mockapi.js.map +1 -0
- package/dist/specs/encode/datetime/mockapi.d.ts +3 -0
- package/dist/specs/encode/datetime/mockapi.d.ts.map +1 -0
- package/dist/specs/encode/datetime/mockapi.js +160 -0
- package/dist/specs/encode/datetime/mockapi.js.map +1 -0
- package/dist/specs/encode/duration/mockapi.d.ts +3 -0
- package/dist/specs/encode/duration/mockapi.d.ts.map +1 -0
- package/dist/specs/encode/duration/mockapi.js +116 -0
- package/dist/specs/encode/duration/mockapi.js.map +1 -0
- package/dist/specs/encode/numeric/mockapi.d.ts +3 -0
- package/dist/specs/encode/numeric/mockapi.d.ts.map +1 -0
- package/dist/specs/encode/numeric/mockapi.js +29 -0
- package/dist/specs/encode/numeric/mockapi.js.map +1 -0
- package/dist/specs/helper.d.ts +3 -0
- package/dist/specs/helper.d.ts.map +1 -0
- package/dist/specs/helper.js +7 -0
- package/dist/specs/helper.js.map +1 -0
- package/dist/specs/parameters/basic/mockapi.d.ts +3 -0
- package/dist/specs/parameters/basic/mockapi.d.ts.map +1 -0
- package/dist/specs/parameters/basic/mockapi.js +24 -0
- package/dist/specs/parameters/basic/mockapi.js.map +1 -0
- package/dist/specs/parameters/body-optionality/mockapi.d.ts +3 -0
- package/dist/specs/parameters/body-optionality/mockapi.d.ts.map +1 -0
- package/dist/specs/parameters/body-optionality/mockapi.js +62 -0
- package/dist/specs/parameters/body-optionality/mockapi.js.map +1 -0
- package/dist/specs/parameters/collection-format/mockapi.d.ts +3 -0
- package/dist/specs/parameters/collection-format/mockapi.d.ts.map +1 -0
- package/dist/specs/parameters/collection-format/mockapi.js +106 -0
- package/dist/specs/parameters/collection-format/mockapi.js.map +1 -0
- package/dist/specs/parameters/spread/mockapi.d.ts +3 -0
- package/dist/specs/parameters/spread/mockapi.d.ts.map +1 -0
- package/dist/specs/parameters/spread/mockapi.js +206 -0
- package/dist/specs/parameters/spread/mockapi.js.map +1 -0
- package/dist/specs/payload/json-merge-patch/mockapi.d.ts +40 -0
- package/dist/specs/payload/json-merge-patch/mockapi.d.ts.map +1 -0
- package/dist/specs/payload/json-merge-patch/mockapi.js +141 -0
- package/dist/specs/payload/json-merge-patch/mockapi.js.map +1 -0
- package/dist/specs/payload/media-type/mockapi.d.ts +3 -0
- package/dist/specs/payload/media-type/mockapi.d.ts.map +1 -0
- package/dist/specs/payload/media-type/mockapi.js +84 -0
- package/dist/specs/payload/media-type/mockapi.js.map +1 -0
- package/dist/specs/payload/multipart/mockapi.d.ts +3 -0
- package/dist/specs/payload/multipart/mockapi.d.ts.map +1 -0
- package/dist/specs/payload/multipart/mockapi.js +153 -0
- package/dist/specs/payload/multipart/mockapi.js.map +1 -0
- package/dist/specs/payload/xml/mockapi.d.ts +15 -0
- package/dist/specs/payload/xml/mockapi.d.ts.map +1 -0
- package/dist/specs/payload/xml/mockapi.js +189 -0
- package/dist/specs/payload/xml/mockapi.js.map +1 -0
- package/dist/specs/routes/mockapi.d.ts +3 -0
- package/dist/specs/routes/mockapi.d.ts.map +1 -0
- package/dist/specs/routes/mockapi.js +63 -0
- package/dist/specs/routes/mockapi.js.map +1 -0
- package/dist/specs/serialization/encoded-name/json/mockapi.d.ts +3 -0
- package/dist/specs/serialization/encoded-name/json/mockapi.d.ts.map +1 -0
- package/dist/specs/serialization/encoded-name/json/mockapi.js +32 -0
- package/dist/specs/serialization/encoded-name/json/mockapi.js.map +1 -0
- package/dist/specs/server/endpoint/not-defined/mockapi.d.ts +3 -0
- package/dist/specs/server/endpoint/not-defined/mockapi.d.ts.map +1 -0
- package/dist/specs/server/endpoint/not-defined/mockapi.js +15 -0
- package/dist/specs/server/endpoint/not-defined/mockapi.js.map +1 -0
- package/dist/specs/server/path/multiple/mockapi.d.ts +3 -0
- package/dist/specs/server/path/multiple/mockapi.d.ts.map +1 -0
- package/dist/specs/server/path/multiple/mockapi.js +27 -0
- package/dist/specs/server/path/multiple/mockapi.js.map +1 -0
- package/dist/specs/server/path/single/mockapi.d.ts +3 -0
- package/dist/specs/server/path/single/mockapi.d.ts.map +1 -0
- package/dist/specs/server/path/single/mockapi.js +15 -0
- package/dist/specs/server/path/single/mockapi.js.map +1 -0
- package/dist/specs/server/versions/not-versioned/mockapi.d.ts +3 -0
- package/dist/specs/server/versions/not-versioned/mockapi.d.ts.map +1 -0
- package/dist/specs/server/versions/not-versioned/mockapi.js +46 -0
- package/dist/specs/server/versions/not-versioned/mockapi.js.map +1 -0
- package/dist/specs/server/versions/versioned/mockapi.d.ts +3 -0
- package/dist/specs/server/versions/versioned/mockapi.d.ts.map +1 -0
- package/dist/specs/server/versions/versioned/mockapi.js +47 -0
- package/dist/specs/server/versions/versioned/mockapi.js.map +1 -0
- package/dist/specs/special-headers/conditional-request/mockapi.d.ts +3 -0
- package/dist/specs/special-headers/conditional-request/mockapi.d.ts.map +1 -0
- package/dist/specs/special-headers/conditional-request/mockapi.js +79 -0
- package/dist/specs/special-headers/conditional-request/mockapi.js.map +1 -0
- package/dist/specs/special-headers/repeatability/mockapi.d.ts +3 -0
- package/dist/specs/special-headers/repeatability/mockapi.d.ts.map +1 -0
- package/dist/specs/special-headers/repeatability/mockapi.js +36 -0
- package/dist/specs/special-headers/repeatability/mockapi.js.map +1 -0
- package/dist/specs/special-words/dec.d.ts +22 -0
- package/dist/specs/special-words/dec.d.ts.map +1 -0
- package/dist/specs/special-words/dec.js +37 -0
- package/dist/specs/special-words/dec.js.map +1 -0
- package/dist/specs/special-words/mockapi.d.ts +3 -0
- package/dist/specs/special-words/mockapi.d.ts.map +1 -0
- package/dist/specs/special-words/mockapi.js +246 -0
- package/dist/specs/special-words/mockapi.js.map +1 -0
- package/dist/specs/type/array/mockapi.d.ts +3 -0
- package/dist/specs/type/array/mockapi.d.ts.map +1 -0
- package/dist/specs/type/array/mockapi.js +104 -0
- package/dist/specs/type/array/mockapi.js.map +1 -0
- package/dist/specs/type/dictionary/mockapi.d.ts +3 -0
- package/dist/specs/type/dictionary/mockapi.d.ts.map +1 -0
- package/dist/specs/type/dictionary/mockapi.js +103 -0
- package/dist/specs/type/dictionary/mockapi.js.map +1 -0
- package/dist/specs/type/enum/extensible/mockapi.d.ts +3 -0
- package/dist/specs/type/enum/extensible/mockapi.d.ts.map +1 -0
- package/dist/specs/type/enum/extensible/mockapi.js +46 -0
- package/dist/specs/type/enum/extensible/mockapi.js.map +1 -0
- package/dist/specs/type/enum/fixed/mockapi.d.ts +3 -0
- package/dist/specs/type/enum/fixed/mockapi.d.ts.map +1 -0
- package/dist/specs/type/enum/fixed/mockapi.js +53 -0
- package/dist/specs/type/enum/fixed/mockapi.js.map +1 -0
- package/dist/specs/type/model/empty/mockapi.d.ts +3 -0
- package/dist/specs/type/model/empty/mockapi.d.ts.map +1 -0
- package/dist/specs/type/model/empty/mockapi.js +48 -0
- package/dist/specs/type/model/empty/mockapi.js.map +1 -0
- package/dist/specs/type/model/inheritance/enum-discriminator/mockapi.d.ts +3 -0
- package/dist/specs/type/model/inheritance/enum-discriminator/mockapi.d.ts.map +1 -0
- package/dist/specs/type/model/inheritance/enum-discriminator/mockapi.js +79 -0
- package/dist/specs/type/model/inheritance/enum-discriminator/mockapi.js.map +1 -0
- package/dist/specs/type/model/inheritance/nested-discriminator/mockapi.d.ts +3 -0
- package/dist/specs/type/model/inheritance/nested-discriminator/mockapi.d.ts.map +1 -0
- package/dist/specs/type/model/inheritance/nested-discriminator/mockapi.js +147 -0
- package/dist/specs/type/model/inheritance/nested-discriminator/mockapi.js.map +1 -0
- package/dist/specs/type/model/inheritance/not-discriminated/mockapi.d.ts +3 -0
- package/dist/specs/type/model/inheritance/not-discriminated/mockapi.d.ts.map +1 -0
- package/dist/specs/type/model/inheritance/not-discriminated/mockapi.js +47 -0
- package/dist/specs/type/model/inheritance/not-discriminated/mockapi.js.map +1 -0
- package/dist/specs/type/model/inheritance/recursive/mockapi.d.ts +3 -0
- package/dist/specs/type/model/inheritance/recursive/mockapi.d.ts.map +1 -0
- package/dist/specs/type/model/inheritance/recursive/mockapi.js +47 -0
- package/dist/specs/type/model/inheritance/recursive/mockapi.js.map +1 -0
- package/dist/specs/type/model/inheritance/single-discriminator/mockapi.d.ts +3 -0
- package/dist/specs/type/model/inheritance/single-discriminator/mockapi.d.ts.map +1 -0
- package/dist/specs/type/model/inheritance/single-discriminator/mockapi.js +122 -0
- package/dist/specs/type/model/inheritance/single-discriminator/mockapi.js.map +1 -0
- package/dist/specs/type/model/templated/mockapi.d.ts +3 -0
- package/dist/specs/type/model/templated/mockapi.d.ts.map +1 -0
- package/dist/specs/type/model/templated/mockapi.js +99 -0
- package/dist/specs/type/model/templated/mockapi.js.map +1 -0
- package/dist/specs/type/model/usage/mockapi.d.ts +3 -0
- package/dist/specs/type/model/usage/mockapi.d.ts.map +1 -0
- package/dist/specs/type/model/usage/mockapi.js +52 -0
- package/dist/specs/type/model/usage/mockapi.js.map +1 -0
- package/dist/specs/type/model/visibility/mockapi.d.ts +3 -0
- package/dist/specs/type/model/visibility/mockapi.d.ts.map +1 -0
- package/dist/specs/type/model/visibility/mockapi.js +138 -0
- package/dist/specs/type/model/visibility/mockapi.js.map +1 -0
- package/dist/specs/type/property/additional-properties/mockapi.d.ts +3 -0
- package/dist/specs/type/property/additional-properties/mockapi.d.ts.map +1 -0
- package/dist/specs/type/property/additional-properties/mockapi.js +346 -0
- package/dist/specs/type/property/additional-properties/mockapi.js.map +1 -0
- package/dist/specs/type/property/nullable/mockapi.d.ts +3 -0
- package/dist/specs/type/property/nullable/mockapi.d.ts.map +1 -0
- package/dist/specs/type/property/nullable/mockapi.js +147 -0
- package/dist/specs/type/property/nullable/mockapi.js.map +1 -0
- package/dist/specs/type/property/optionality/mockapi.d.ts +3 -0
- package/dist/specs/type/property/optionality/mockapi.d.ts.map +1 -0
- package/dist/specs/type/property/optionality/mockapi.js +197 -0
- package/dist/specs/type/property/optionality/mockapi.js.map +1 -0
- package/dist/specs/type/property/value-types/mockapi.d.ts +3 -0
- package/dist/specs/type/property/value-types/mockapi.d.ts.map +1 -0
- package/dist/specs/type/property/value-types/mockapi.js +213 -0
- package/dist/specs/type/property/value-types/mockapi.js.map +1 -0
- package/dist/specs/type/scalar/mockapi.d.ts +3 -0
- package/dist/specs/type/scalar/mockapi.d.ts.map +1 -0
- package/dist/specs/type/scalar/mockapi.js +274 -0
- package/dist/specs/type/scalar/mockapi.js.map +1 -0
- package/dist/specs/type/union/mockapi.d.ts +3 -0
- package/dist/specs/type/union/mockapi.d.ts.map +1 -0
- package/dist/specs/type/union/mockapi.js +113 -0
- package/dist/specs/type/union/mockapi.js.map +1 -0
- package/dist/specs/versioning/added/mockapi.d.ts +3 -0
- package/dist/specs/versioning/added/mockapi.d.ts.map +1 -0
- package/dist/specs/versioning/added/mockapi.js +76 -0
- package/dist/specs/versioning/added/mockapi.js.map +1 -0
- package/dist/specs/versioning/madeOptional/mockapi.d.ts +3 -0
- package/dist/specs/versioning/madeOptional/mockapi.d.ts.map +1 -0
- package/dist/specs/versioning/madeOptional/mockapi.js +24 -0
- package/dist/specs/versioning/madeOptional/mockapi.js.map +1 -0
- package/dist/specs/versioning/removed/mockapi.d.ts +3 -0
- package/dist/specs/versioning/removed/mockapi.d.ts.map +1 -0
- package/dist/specs/versioning/removed/mockapi.js +26 -0
- package/dist/specs/versioning/removed/mockapi.js.map +1 -0
- package/dist/specs/versioning/renamedFrom/mockapi.d.ts +3 -0
- package/dist/specs/versioning/renamedFrom/mockapi.d.ts.map +1 -0
- package/dist/specs/versioning/renamedFrom/mockapi.js +53 -0
- package/dist/specs/versioning/renamedFrom/mockapi.js.map +1 -0
- package/dist/specs/versioning/returnTypeChangedFrom/mockapi.d.ts +3 -0
- package/dist/specs/versioning/returnTypeChangedFrom/mockapi.d.ts.map +1 -0
- package/dist/specs/versioning/returnTypeChangedFrom/mockapi.js +25 -0
- package/dist/specs/versioning/returnTypeChangedFrom/mockapi.js.map +1 -0
- package/dist/specs/versioning/typeChangedFrom/mockapi.d.ts +3 -0
- package/dist/specs/versioning/typeChangedFrom/mockapi.d.ts.map +1 -0
- package/dist/specs/versioning/typeChangedFrom/mockapi.js +29 -0
- package/dist/specs/versioning/typeChangedFrom/mockapi.js.map +1 -0
- package/package.json +53 -0
- package/specs/README.md +3 -0
- package/specs/authentication/api-key/main.tsp +39 -0
- package/specs/authentication/api-key/mockapi.ts +47 -0
- package/specs/authentication/commonapi.ts +43 -0
- package/specs/authentication/http/custom/main.tsp +39 -0
- package/specs/authentication/http/custom/mockapi.ts +47 -0
- package/specs/authentication/oauth2/main.tsp +44 -0
- package/specs/authentication/oauth2/mockapi.ts +44 -0
- package/specs/authentication/union/main.tsp +29 -0
- package/specs/authentication/union/mockapi.ts +39 -0
- package/specs/encode/bytes/main.tsp +369 -0
- package/specs/encode/bytes/mockapi.ts +309 -0
- package/specs/encode/datetime/main.tsp +344 -0
- package/specs/encode/datetime/mockapi.ts +274 -0
- package/specs/encode/duration/main.tsp +322 -0
- package/specs/encode/duration/mockapi.ts +204 -0
- package/specs/encode/numeric/main.tsp +71 -0
- package/specs/encode/numeric/mockapi.ts +39 -0
- package/specs/helper.ts +8 -0
- package/specs/parameters/basic/main.tsp +61 -0
- package/specs/parameters/basic/mockapi.ts +29 -0
- package/specs/parameters/body-optionality/main.tsp +63 -0
- package/specs/parameters/body-optionality/mockapi.ts +71 -0
- package/specs/parameters/collection-format/main.tsp +95 -0
- package/specs/parameters/collection-format/mockapi.ts +113 -0
- package/specs/parameters/spread/main.tsp +340 -0
- package/specs/parameters/spread/mockapi.ts +216 -0
- package/specs/payload/json-merge-patch/main.tsp +183 -0
- package/specs/payload/json-merge-patch/mockapi.ts +146 -0
- package/specs/payload/media-type/main.tsp +54 -0
- package/specs/payload/media-type/mockapi.ts +88 -0
- package/specs/payload/multipart/main.tsp +499 -0
- package/specs/payload/multipart/mockapi.ts +226 -0
- package/specs/payload/xml/main.tsp +312 -0
- package/specs/payload/xml/mockapi.ts +244 -0
- package/specs/routes/main.tsp +476 -0
- package/specs/routes/mockapi.ts +158 -0
- package/specs/scratch/.gitignore +3 -0
- package/specs/serialization/encoded-name/json/main.tsp +45 -0
- package/specs/serialization/encoded-name/json/mockapi.ts +34 -0
- package/specs/server/endpoint/not-defined/main.tsp +19 -0
- package/specs/server/endpoint/not-defined/mockapi.ts +16 -0
- package/specs/server/path/multiple/main.tsp +46 -0
- package/specs/server/path/multiple/mockapi.ts +29 -0
- package/specs/server/path/single/main.tsp +23 -0
- package/specs/server/path/single/mockapi.ts +16 -0
- package/specs/server/versions/not-versioned/main.tsp +39 -0
- package/specs/server/versions/not-versioned/mockapi.ts +55 -0
- package/specs/server/versions/versioned/main.tsp +65 -0
- package/specs/server/versions/versioned/mockapi.ts +68 -0
- package/specs/special-headers/conditional-request/main.tsp +89 -0
- package/specs/special-headers/conditional-request/mockapi.ts +83 -0
- package/specs/special-headers/repeatability/main.tsp +39 -0
- package/specs/special-headers/repeatability/mockapi.ts +47 -0
- package/specs/special-words/dec.js +52 -0
- package/specs/special-words/main.tsp +238 -0
- package/specs/special-words/mockapi.ts +407 -0
- package/specs/type/array/main.tsp +132 -0
- package/specs/type/array/mockapi.ts +119 -0
- package/specs/type/dictionary/main.tsp +122 -0
- package/specs/type/dictionary/mockapi.ts +115 -0
- package/specs/type/enum/extensible/main.tsp +64 -0
- package/specs/type/enum/extensible/mockapi.ts +55 -0
- package/specs/type/enum/fixed/main.tsp +60 -0
- package/specs/type/enum/fixed/mockapi.ts +55 -0
- package/specs/type/model/empty/main.tsp +39 -0
- package/specs/type/model/empty/mockapi.ts +51 -0
- package/specs/type/model/inheritance/enum-discriminator/main.tsp +169 -0
- package/specs/type/model/inheritance/enum-discriminator/mockapi.ts +99 -0
- package/specs/type/model/inheritance/nested-discriminator/main.tsp +223 -0
- package/specs/type/model/inheritance/nested-discriminator/mockapi.ts +150 -0
- package/specs/type/model/inheritance/not-discriminated/main.tsp +53 -0
- package/specs/type/model/inheritance/not-discriminated/mockapi.ts +49 -0
- package/specs/type/model/inheritance/recursive/main.tsp +70 -0
- package/specs/type/model/inheritance/recursive/mockapi.ts +48 -0
- package/specs/type/model/inheritance/single-discriminator/main.tsp +171 -0
- package/specs/type/model/inheritance/single-discriminator/mockapi.ts +126 -0
- package/specs/type/model/templated/main.tsp +130 -0
- package/specs/type/model/templated/mockapi.ts +102 -0
- package/specs/type/model/usage/main.tsp +48 -0
- package/specs/type/model/usage/mockapi.ts +56 -0
- package/specs/type/model/visibility/main.tsp +152 -0
- package/specs/type/model/visibility/mockapi.ts +139 -0
- package/specs/type/property/additional-properties/main.tsp +591 -0
- package/specs/type/property/additional-properties/mockapi.ts +477 -0
- package/specs/type/property/nullable/client.tsp +21 -0
- package/specs/type/property/nullable/main.tsp +162 -0
- package/specs/type/property/nullable/mockapi.ts +202 -0
- package/specs/type/property/optionality/main.tsp +258 -0
- package/specs/type/property/optionality/mockapi.ts +308 -0
- package/specs/type/property/value-types/main.tsp +285 -0
- package/specs/type/property/value-types/mockapi.ts +297 -0
- package/specs/type/scalar/main.tsp +164 -0
- package/specs/type/scalar/mockapi.ts +280 -0
- package/specs/type/union/main.tsp +262 -0
- package/specs/type/union/mockapi.ts +137 -0
- package/specs/versioning/added/main.tsp +135 -0
- package/specs/versioning/added/mockapi.ts +79 -0
- package/specs/versioning/madeOptional/main.tsp +64 -0
- package/specs/versioning/madeOptional/mockapi.ts +25 -0
- package/specs/versioning/removed/main.tsp +125 -0
- package/specs/versioning/removed/mockapi.ts +27 -0
- package/specs/versioning/renamedFrom/main.tsp +111 -0
- package/specs/versioning/renamedFrom/mockapi.ts +55 -0
- package/specs/versioning/returnTypeChangedFrom/main.tsp +56 -0
- package/specs/versioning/returnTypeChangedFrom/mockapi.ts +26 -0
- package/specs/versioning/typeChangedFrom/main.tsp +70 -0
- package/specs/versioning/typeChangedFrom/mockapi.ts +30 -0
- package/temp/.tsbuildinfo +1 -0
- package/tsconfig.build.json +9 -0
- package/tsconfig.json +11 -0
- package/tspconfig.yaml +2 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { json, MockRequest, passOnSuccess, ScenarioMockApi } from "@typespec/spec-api";
|
|
2
|
+
|
|
3
|
+
export const Scenarios: Record<string, ScenarioMockApi> = {};
|
|
4
|
+
|
|
5
|
+
function createServerTests(url: string, value: unknown, patchNullableProperty?: any) {
|
|
6
|
+
return {
|
|
7
|
+
get: passOnSuccess({
|
|
8
|
+
uri: url,
|
|
9
|
+
method: `get`,
|
|
10
|
+
request: {},
|
|
11
|
+
response: {
|
|
12
|
+
status: 200,
|
|
13
|
+
body: json(value),
|
|
14
|
+
},
|
|
15
|
+
handler: (req: MockRequest) => {
|
|
16
|
+
return {
|
|
17
|
+
status: 200,
|
|
18
|
+
body: json(value),
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
kind: "MockApiDefinition",
|
|
22
|
+
}),
|
|
23
|
+
patch: passOnSuccess({
|
|
24
|
+
uri: url,
|
|
25
|
+
method: `patch`,
|
|
26
|
+
request: {
|
|
27
|
+
body: {
|
|
28
|
+
requiredProperty: "foo",
|
|
29
|
+
nullableProperty: patchNullableProperty || null,
|
|
30
|
+
},
|
|
31
|
+
headers: {
|
|
32
|
+
"Content-Type": "application/merge-patch+json",
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
response: {
|
|
36
|
+
status: 204,
|
|
37
|
+
},
|
|
38
|
+
handler: (req: MockRequest) => {
|
|
39
|
+
req.expect.bodyEquals({
|
|
40
|
+
requiredProperty: "foo",
|
|
41
|
+
nullableProperty: patchNullableProperty || null,
|
|
42
|
+
});
|
|
43
|
+
return {
|
|
44
|
+
status: 204,
|
|
45
|
+
};
|
|
46
|
+
},
|
|
47
|
+
kind: "MockApiDefinition",
|
|
48
|
+
}),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const Type_Property_Nullable_String_Null = createServerTests(
|
|
53
|
+
`/type/property/nullable/string/null`,
|
|
54
|
+
{
|
|
55
|
+
requiredProperty: "foo",
|
|
56
|
+
nullableProperty: null,
|
|
57
|
+
},
|
|
58
|
+
);
|
|
59
|
+
const Type_Property_Nullable_String_Non_Null = createServerTests(
|
|
60
|
+
`/type/property/nullable/string/non-null`,
|
|
61
|
+
{
|
|
62
|
+
requiredProperty: "foo",
|
|
63
|
+
nullableProperty: "hello",
|
|
64
|
+
},
|
|
65
|
+
"hello",
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
Scenarios.Type_Property_Nullable_String_getNonNull = Type_Property_Nullable_String_Non_Null.get;
|
|
69
|
+
Scenarios.Type_Property_Nullable_String_getNull = Type_Property_Nullable_String_Null.get;
|
|
70
|
+
Scenarios.Type_Property_Nullable_String_patchNonNull = Type_Property_Nullable_String_Non_Null.patch;
|
|
71
|
+
Scenarios.Type_Property_Nullable_String_patchNull = Type_Property_Nullable_String_Null.patch;
|
|
72
|
+
|
|
73
|
+
const Type_Property_Nullable_Bytes_Null = createServerTests(`/type/property/nullable/bytes/null`, {
|
|
74
|
+
requiredProperty: "foo",
|
|
75
|
+
nullableProperty: null,
|
|
76
|
+
});
|
|
77
|
+
const Type_Property_Nullable_Bytes_Non_Null = createServerTests(
|
|
78
|
+
`/type/property/nullable/bytes/non-null`,
|
|
79
|
+
{
|
|
80
|
+
requiredProperty: "foo",
|
|
81
|
+
nullableProperty: "aGVsbG8sIHdvcmxkIQ==",
|
|
82
|
+
},
|
|
83
|
+
"aGVsbG8sIHdvcmxkIQ==",
|
|
84
|
+
);
|
|
85
|
+
Scenarios.Type_Property_Nullable_Bytes_getNonNull = Type_Property_Nullable_Bytes_Non_Null.get;
|
|
86
|
+
Scenarios.Type_Property_Nullable_Bytes_getNull = Type_Property_Nullable_Bytes_Null.get;
|
|
87
|
+
Scenarios.Type_Property_Nullable_Bytes_patchNonNull = Type_Property_Nullable_Bytes_Non_Null.patch;
|
|
88
|
+
Scenarios.Type_Property_Nullable_Bytes_patchNull = Type_Property_Nullable_Bytes_Null.patch;
|
|
89
|
+
|
|
90
|
+
const Type_Property_Nullable_DateTime_Null = createServerTests(
|
|
91
|
+
`/type/property/nullable/datetime/null`,
|
|
92
|
+
{
|
|
93
|
+
requiredProperty: "foo",
|
|
94
|
+
nullableProperty: null,
|
|
95
|
+
},
|
|
96
|
+
);
|
|
97
|
+
const Type_Property_Nullable_DateTime_Non_Null = createServerTests(
|
|
98
|
+
`/type/property/nullable/datetime/non-null`,
|
|
99
|
+
{
|
|
100
|
+
requiredProperty: "foo",
|
|
101
|
+
nullableProperty: "2022-08-26T18:38:00Z",
|
|
102
|
+
},
|
|
103
|
+
"2022-08-26T18:38:00Z",
|
|
104
|
+
);
|
|
105
|
+
Scenarios.Type_Property_Nullable_Datetime_getNonNull = Type_Property_Nullable_DateTime_Non_Null.get;
|
|
106
|
+
Scenarios.Type_Property_Nullable_Datetime_getNull = Type_Property_Nullable_DateTime_Null.get;
|
|
107
|
+
Scenarios.Type_Property_Nullable_Datetime_patchNonNull =
|
|
108
|
+
Type_Property_Nullable_DateTime_Non_Null.patch;
|
|
109
|
+
Scenarios.Type_Property_Nullable_Datetime_patchNull = Type_Property_Nullable_DateTime_Null.patch;
|
|
110
|
+
|
|
111
|
+
const Type_Property_Nullable_Duration_Null = createServerTests(
|
|
112
|
+
`/type/property/nullable/duration/null`,
|
|
113
|
+
{
|
|
114
|
+
requiredProperty: "foo",
|
|
115
|
+
nullableProperty: null,
|
|
116
|
+
},
|
|
117
|
+
);
|
|
118
|
+
const Type_Property_Nullable_Duration_Non_Null = createServerTests(
|
|
119
|
+
`/type/property/nullable/duration/non-null`,
|
|
120
|
+
{
|
|
121
|
+
requiredProperty: "foo",
|
|
122
|
+
nullableProperty: "P123DT22H14M12.011S",
|
|
123
|
+
},
|
|
124
|
+
"P123DT22H14M12.011S",
|
|
125
|
+
);
|
|
126
|
+
Scenarios.Type_Property_Nullable_Duration_getNonNull = Type_Property_Nullable_Duration_Non_Null.get;
|
|
127
|
+
Scenarios.Type_Property_Nullable_Duration_getNull = Type_Property_Nullable_Duration_Null.get;
|
|
128
|
+
Scenarios.Type_Property_Nullable_Duration_patchNonNull =
|
|
129
|
+
Type_Property_Nullable_Duration_Non_Null.patch;
|
|
130
|
+
Scenarios.Type_Property_Nullable_Duration_patchNull = Type_Property_Nullable_Duration_Null.patch;
|
|
131
|
+
|
|
132
|
+
const Type_Property_Nullable_Collections_Bytes_Null = createServerTests(
|
|
133
|
+
`/type/property/nullable/collections/bytes/null`,
|
|
134
|
+
{
|
|
135
|
+
requiredProperty: "foo",
|
|
136
|
+
nullableProperty: null,
|
|
137
|
+
},
|
|
138
|
+
);
|
|
139
|
+
const Type_Property_Nullable_Collections_Bytes_Non_Null = createServerTests(
|
|
140
|
+
`/type/property/nullable/collections/bytes/non-null`,
|
|
141
|
+
{
|
|
142
|
+
requiredProperty: "foo",
|
|
143
|
+
nullableProperty: ["aGVsbG8sIHdvcmxkIQ==", "aGVsbG8sIHdvcmxkIQ=="],
|
|
144
|
+
},
|
|
145
|
+
["aGVsbG8sIHdvcmxkIQ==", "aGVsbG8sIHdvcmxkIQ=="],
|
|
146
|
+
);
|
|
147
|
+
Scenarios.Type_Property_Nullable_CollectionsByte_getNonNull =
|
|
148
|
+
Type_Property_Nullable_Collections_Bytes_Non_Null.get;
|
|
149
|
+
Scenarios.Type_Property_Nullable_CollectionsByte_getNull =
|
|
150
|
+
Type_Property_Nullable_Collections_Bytes_Null.get;
|
|
151
|
+
Scenarios.Type_Property_Nullable_CollectionsByte_patchNonNull =
|
|
152
|
+
Type_Property_Nullable_Collections_Bytes_Non_Null.patch;
|
|
153
|
+
Scenarios.Type_Property_Nullable_CollectionsByte_patchNull =
|
|
154
|
+
Type_Property_Nullable_Collections_Bytes_Null.patch;
|
|
155
|
+
|
|
156
|
+
const Type_Property_Nullable_Collections_Model_Null = createServerTests(
|
|
157
|
+
`/type/property/nullable/collections/model/null`,
|
|
158
|
+
{
|
|
159
|
+
requiredProperty: "foo",
|
|
160
|
+
nullableProperty: null,
|
|
161
|
+
},
|
|
162
|
+
);
|
|
163
|
+
const Type_Property_Nullable_Collections_Model_Non_Null = createServerTests(
|
|
164
|
+
`/type/property/nullable/collections/model/non-null`,
|
|
165
|
+
{
|
|
166
|
+
requiredProperty: "foo",
|
|
167
|
+
nullableProperty: [{ property: "hello" }, { property: "world" }],
|
|
168
|
+
},
|
|
169
|
+
[{ property: "hello" }, { property: "world" }],
|
|
170
|
+
);
|
|
171
|
+
Scenarios.Type_Property_Nullable_CollectionsModel_getNonNull =
|
|
172
|
+
Type_Property_Nullable_Collections_Model_Non_Null.get;
|
|
173
|
+
Scenarios.Type_Property_Nullable_CollectionsModel_getNull =
|
|
174
|
+
Type_Property_Nullable_Collections_Model_Null.get;
|
|
175
|
+
Scenarios.Type_Property_Nullable_CollectionsModel_patchNonNull =
|
|
176
|
+
Type_Property_Nullable_Collections_Model_Non_Null.patch;
|
|
177
|
+
Scenarios.Type_Property_Nullable_CollectionsModel_patchNull =
|
|
178
|
+
Type_Property_Nullable_Collections_Model_Null.patch;
|
|
179
|
+
|
|
180
|
+
const Type_Property_Nullable_Collections_String_Null = createServerTests(
|
|
181
|
+
`/type/property/nullable/collections/string/null`,
|
|
182
|
+
{
|
|
183
|
+
requiredProperty: "foo",
|
|
184
|
+
nullableProperty: null,
|
|
185
|
+
},
|
|
186
|
+
);
|
|
187
|
+
const Type_Property_Nullable_Collections_String_Non_Null = createServerTests(
|
|
188
|
+
`/type/property/nullable/collections/string/non-null`,
|
|
189
|
+
{
|
|
190
|
+
requiredProperty: "foo",
|
|
191
|
+
nullableProperty: ["hello", "world"],
|
|
192
|
+
},
|
|
193
|
+
["hello", "world"],
|
|
194
|
+
);
|
|
195
|
+
Scenarios.Type_Property_Nullable_CollectionsString_getNonNull =
|
|
196
|
+
Type_Property_Nullable_Collections_String_Non_Null.get;
|
|
197
|
+
Scenarios.Type_Property_Nullable_CollectionsString_getNull =
|
|
198
|
+
Type_Property_Nullable_Collections_String_Null.get;
|
|
199
|
+
Scenarios.Type_Property_Nullable_CollectionsString_patchNonNull =
|
|
200
|
+
Type_Property_Nullable_Collections_String_Non_Null.patch;
|
|
201
|
+
Scenarios.Type_Property_Nullable_CollectionsString_patchNull =
|
|
202
|
+
Type_Property_Nullable_Collections_String_Null.patch;
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import "@typespec/http";
|
|
2
|
+
import "@typespec/spec-lib";
|
|
3
|
+
|
|
4
|
+
using TypeSpec.Http;
|
|
5
|
+
using Azure.ClientGenerator.Core;
|
|
6
|
+
|
|
7
|
+
@doc("Illustrates models with optional properties.")
|
|
8
|
+
@scenarioService("/type/property/optional")
|
|
9
|
+
namespace Type.Property.Optional;
|
|
10
|
+
|
|
11
|
+
@doc("Template type for testing models with optional property. Pass in the type of the property you are looking for")
|
|
12
|
+
model ModelTemplate<TProperty> {
|
|
13
|
+
@doc("Property")
|
|
14
|
+
property?: TProperty;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@doc("Operations associated with getting and putting models with optional properties.")
|
|
18
|
+
interface OperationsTemplate<TModel, TDoc extends string, TDefaultDoc extends string = "{}"> {
|
|
19
|
+
@doc("Get models that will return all properties in the model")
|
|
20
|
+
@scenario
|
|
21
|
+
@scenarioDoc(
|
|
22
|
+
"""
|
|
23
|
+
Expected response body:
|
|
24
|
+
```json
|
|
25
|
+
{"property": {allDoc}}
|
|
26
|
+
```
|
|
27
|
+
""",
|
|
28
|
+
{
|
|
29
|
+
allDoc: TDoc,
|
|
30
|
+
}
|
|
31
|
+
)
|
|
32
|
+
@route("/all")
|
|
33
|
+
@get
|
|
34
|
+
getAll(): TModel;
|
|
35
|
+
|
|
36
|
+
@doc("Get models that will return the default object")
|
|
37
|
+
@scenario
|
|
38
|
+
@scenarioDoc(
|
|
39
|
+
"""
|
|
40
|
+
Expected response body:
|
|
41
|
+
```json
|
|
42
|
+
{defaultDoc}
|
|
43
|
+
```
|
|
44
|
+
""",
|
|
45
|
+
{
|
|
46
|
+
defaultDoc: TDefaultDoc,
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
@route("/default")
|
|
50
|
+
@get
|
|
51
|
+
getDefault(): TModel;
|
|
52
|
+
|
|
53
|
+
@doc("Put a body with all properties present.")
|
|
54
|
+
@scenario
|
|
55
|
+
@scenarioDoc(
|
|
56
|
+
"""
|
|
57
|
+
Expected request body:
|
|
58
|
+
```json
|
|
59
|
+
{"property": {allDoc}}
|
|
60
|
+
```
|
|
61
|
+
""",
|
|
62
|
+
{
|
|
63
|
+
allDoc: TDoc,
|
|
64
|
+
}
|
|
65
|
+
)
|
|
66
|
+
@route("/all")
|
|
67
|
+
@put
|
|
68
|
+
putAll(@body body: TModel): void;
|
|
69
|
+
|
|
70
|
+
@doc("Put a body with default properties.")
|
|
71
|
+
@scenario
|
|
72
|
+
@scenarioDoc(
|
|
73
|
+
"""
|
|
74
|
+
Expected request body:
|
|
75
|
+
```json
|
|
76
|
+
{defaultDoc}
|
|
77
|
+
```
|
|
78
|
+
""",
|
|
79
|
+
{
|
|
80
|
+
defaultDoc: TDefaultDoc,
|
|
81
|
+
}
|
|
82
|
+
)
|
|
83
|
+
@route("/default")
|
|
84
|
+
@put
|
|
85
|
+
putDefault(@body body: TModel): void;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// Model with optional string property
|
|
89
|
+
model StringProperty is ModelTemplate<string>;
|
|
90
|
+
@route("/string")
|
|
91
|
+
@operationGroup
|
|
92
|
+
interface String extends OperationsTemplate<StringProperty, "\"hello\""> {}
|
|
93
|
+
|
|
94
|
+
// Model with optional bytes property
|
|
95
|
+
model BytesProperty is ModelTemplate<bytes>;
|
|
96
|
+
@route("/bytes")
|
|
97
|
+
@operationGroup
|
|
98
|
+
interface Bytes extends OperationsTemplate<BytesProperty, "\"aGVsbG8sIHdvcmxkIQ==\""> {}
|
|
99
|
+
|
|
100
|
+
// Model with optional datetime property
|
|
101
|
+
@doc("Model with a datetime property")
|
|
102
|
+
model DatetimeProperty is ModelTemplate<utcDateTime>;
|
|
103
|
+
@route("/datetime")
|
|
104
|
+
@operationGroup
|
|
105
|
+
interface Datetime extends OperationsTemplate<DatetimeProperty, "\"2022-08-26T18:38:00Z\""> {}
|
|
106
|
+
|
|
107
|
+
// Model with optional duration property
|
|
108
|
+
@doc("Model with a duration property")
|
|
109
|
+
model DurationProperty is ModelTemplate<duration>;
|
|
110
|
+
@route("/duration")
|
|
111
|
+
@operationGroup
|
|
112
|
+
interface Duration extends OperationsTemplate<DurationProperty, "\"P123DT22H14M12.011S\""> {}
|
|
113
|
+
|
|
114
|
+
// Model with optional plainDate property
|
|
115
|
+
@doc("Model with a plainDate property")
|
|
116
|
+
model PlainDateProperty is ModelTemplate<plainDate>;
|
|
117
|
+
@route("/plainDate")
|
|
118
|
+
@operationGroup
|
|
119
|
+
interface PlainDate extends OperationsTemplate<PlainDateProperty, "\"2022-12-12\""> {}
|
|
120
|
+
|
|
121
|
+
// Model with optional property
|
|
122
|
+
@doc("Model with a plainTime property")
|
|
123
|
+
model PlainTimeProperty is ModelTemplate<plainTime>;
|
|
124
|
+
@route("/plainTime")
|
|
125
|
+
@operationGroup
|
|
126
|
+
interface PlainTime extends OperationsTemplate<PlainTimeProperty, "\"13:06:12\""> {}
|
|
127
|
+
|
|
128
|
+
// Model with optional collection bytes property
|
|
129
|
+
@doc("Model with collection bytes properties")
|
|
130
|
+
model CollectionsByteProperty is ModelTemplate<bytes[]>;
|
|
131
|
+
@route("/collections/bytes")
|
|
132
|
+
@operationGroup
|
|
133
|
+
interface CollectionsByte
|
|
134
|
+
extends OperationsTemplate<
|
|
135
|
+
CollectionsByteProperty,
|
|
136
|
+
"[\"aGVsbG8sIHdvcmxkIQ==\", \"aGVsbG8sIHdvcmxkIQ==\"]"
|
|
137
|
+
> {}
|
|
138
|
+
|
|
139
|
+
// Model with optional collection models property
|
|
140
|
+
@doc("Model with collection models properties")
|
|
141
|
+
model CollectionsModelProperty is ModelTemplate<StringProperty[]>;
|
|
142
|
+
@route("/collections/model")
|
|
143
|
+
@operationGroup
|
|
144
|
+
interface CollectionsModel
|
|
145
|
+
extends OperationsTemplate<
|
|
146
|
+
CollectionsModelProperty,
|
|
147
|
+
"[{'property': 'hello'}, {'property': 'world'}]"
|
|
148
|
+
> {}
|
|
149
|
+
|
|
150
|
+
// Model with optional string literal property
|
|
151
|
+
@doc("Model with string literal property")
|
|
152
|
+
model StringLiteralProperty is ModelTemplate<"hello">;
|
|
153
|
+
@route("/string/literal")
|
|
154
|
+
@operationGroup
|
|
155
|
+
interface StringLiteral extends OperationsTemplate<StringLiteralProperty, "\"hello\""> {}
|
|
156
|
+
|
|
157
|
+
// Model with optional int literal property
|
|
158
|
+
@doc("Model with int literal property")
|
|
159
|
+
model IntLiteralProperty is ModelTemplate<1>;
|
|
160
|
+
@route("/int/literal")
|
|
161
|
+
@operationGroup
|
|
162
|
+
interface IntLiteral extends OperationsTemplate<IntLiteralProperty, "1"> {}
|
|
163
|
+
|
|
164
|
+
// Model with optional float literal property
|
|
165
|
+
@doc("Model with float literal property")
|
|
166
|
+
model FloatLiteralProperty is ModelTemplate<1.25>;
|
|
167
|
+
@route("/float/literal")
|
|
168
|
+
@operationGroup
|
|
169
|
+
interface FloatLiteral extends OperationsTemplate<FloatLiteralProperty, "1.25"> {}
|
|
170
|
+
|
|
171
|
+
// Model with optional boolean literal property
|
|
172
|
+
@doc("Model with boolean literal property")
|
|
173
|
+
model BooleanLiteralProperty is ModelTemplate<true>;
|
|
174
|
+
@route("/boolean/literal")
|
|
175
|
+
@operationGroup
|
|
176
|
+
interface BooleanLiteral extends OperationsTemplate<BooleanLiteralProperty, "true"> {}
|
|
177
|
+
|
|
178
|
+
// Model with union of string literal property
|
|
179
|
+
@doc("Model with union of string literal property")
|
|
180
|
+
model UnionStringLiteralProperty is ModelTemplate<"hello" | "world">;
|
|
181
|
+
@route("/union/string/literal")
|
|
182
|
+
@operationGroup
|
|
183
|
+
interface UnionStringLiteral extends OperationsTemplate<UnionStringLiteralProperty, "\"world\""> {}
|
|
184
|
+
|
|
185
|
+
// Model with union of int literal property
|
|
186
|
+
@doc("Model with union of int literal property")
|
|
187
|
+
model UnionIntLiteralProperty is ModelTemplate<1 | 2>;
|
|
188
|
+
@route("/union/int/literal")
|
|
189
|
+
@operationGroup
|
|
190
|
+
interface UnionIntLiteral extends OperationsTemplate<UnionIntLiteralProperty, "2"> {}
|
|
191
|
+
|
|
192
|
+
// Model with union of float literal property
|
|
193
|
+
@doc("Model with union of float literal property")
|
|
194
|
+
model UnionFloatLiteralProperty is ModelTemplate<1.25 | 2.375>;
|
|
195
|
+
@route("/union/float/literal")
|
|
196
|
+
@operationGroup
|
|
197
|
+
interface UnionFloatLiteral extends OperationsTemplate<UnionFloatLiteralProperty, "2.375"> {}
|
|
198
|
+
|
|
199
|
+
@doc("Model with required and optional properties")
|
|
200
|
+
model RequiredAndOptionalProperty {
|
|
201
|
+
@doc("optional string property")
|
|
202
|
+
optionalProperty?: string;
|
|
203
|
+
|
|
204
|
+
@doc("required int property")
|
|
205
|
+
requiredProperty: int32;
|
|
206
|
+
}
|
|
207
|
+
@doc("Test optional and required properties")
|
|
208
|
+
@route("/requiredAndOptional")
|
|
209
|
+
@operationGroup
|
|
210
|
+
interface RequiredAndOptional {
|
|
211
|
+
@doc("Get models that will return all properties in the model")
|
|
212
|
+
@scenario
|
|
213
|
+
@scenarioDoc("""
|
|
214
|
+
Expected response body:
|
|
215
|
+
```json
|
|
216
|
+
{"optionalProperty": "hello", "requiredProperty": 42}
|
|
217
|
+
```
|
|
218
|
+
""")
|
|
219
|
+
@route("/all")
|
|
220
|
+
@get
|
|
221
|
+
getAll(): RequiredAndOptionalProperty;
|
|
222
|
+
|
|
223
|
+
@doc("Get models that will return only the required properties")
|
|
224
|
+
@scenario
|
|
225
|
+
@scenarioDoc("""
|
|
226
|
+
Expected response body:
|
|
227
|
+
```json
|
|
228
|
+
{"requiredProperty": 42}
|
|
229
|
+
```
|
|
230
|
+
""")
|
|
231
|
+
@route("/requiredOnly")
|
|
232
|
+
@get
|
|
233
|
+
getRequiredOnly(): RequiredAndOptionalProperty;
|
|
234
|
+
|
|
235
|
+
@doc("Put a body with all properties present.")
|
|
236
|
+
@scenario
|
|
237
|
+
@scenarioDoc("""
|
|
238
|
+
Expected request body:
|
|
239
|
+
```json
|
|
240
|
+
{"optionalProperty": "hello", "requiredProperty": 42}
|
|
241
|
+
```
|
|
242
|
+
""")
|
|
243
|
+
@route("/all")
|
|
244
|
+
@put
|
|
245
|
+
putAll(@body body: RequiredAndOptionalProperty): void;
|
|
246
|
+
|
|
247
|
+
@doc("Put a body with only required properties.")
|
|
248
|
+
@scenario
|
|
249
|
+
@scenarioDoc("""
|
|
250
|
+
Expected request body:
|
|
251
|
+
```json
|
|
252
|
+
{"requiredProperty": 42}
|
|
253
|
+
```
|
|
254
|
+
""")
|
|
255
|
+
@route("/requiredOnly")
|
|
256
|
+
@put
|
|
257
|
+
putRequiredOnly(@body body: RequiredAndOptionalProperty): void;
|
|
258
|
+
}
|