nestjs-openapi-parser 0.0.2 → 0.0.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/README.md CHANGED
@@ -183,6 +183,20 @@ export class UsersController {
183
183
  Run `npx nestparser --out openapi.json` — that's it. See [What it parses](docs/parser.md) for
184
184
  every supported construct (DTOs, `class-validator` constraints, enums, `@Scope`, `@Tag`, hooks…).
185
185
 
186
+ ## Available JSDoc tags
187
+
188
+ Add these to a controller, method, or property JSDoc to enrich the output. Each must be on its own line (inline mentions are treated as description text).
189
+
190
+ | Tag | Applies to | Effect |
191
+ | --------------------------- | ------------------------------- | ----------------------------------------------------------------------------------------------- |
192
+ | `@Tag <name>` | Controller or method | Group the operation under `<name>` instead of the tag derived from the class name |
193
+ | `@Name <text>` | Method | Set the operation `summary` (otherwise the method name, humanized) |
194
+ | `@Scope <name>` | Controller, method, or property | Emit the item only when `<name>` is an active scope. Comma-separated for several (`@Scope a,b`) |
195
+ | `@Accept <media-type>` | Method | Request body (`@Body()`) media type — default `application/json` |
196
+ | `@ContentType <media-type>` | Method | Response media type — default `application/json` |
197
+
198
+ Inside any JSDoc body you can also wrap text in `<scope>…</scope>` fragments to show it only under matching scopes — see [Configuration](docs/configuration.md#scoped-description-fragments).
199
+
186
200
  ## What it parses
187
201
 
188
202
  See [Parser Documentation](docs/parser.md)
@@ -20,8 +20,13 @@ export declare class PathBuilder {
20
20
  private readonly paths;
21
21
  private readonly usedOperationIds;
22
22
  private readonly tags;
23
- /** Distinct method-level `@Tag` names seen, declared in root after controllers. */
24
- private readonly methodTagNames;
23
+ /**
24
+ * Tag names actually referenced by an emitted operation — each operation's
25
+ * `@Tag`, or the controller tag it falls back to. A controller tag absent here
26
+ * is unused (e.g. its only method overrides it with its own `@Tag`) and so is
27
+ * not emitted in the root `tags[]`.
28
+ */
29
+ private readonly usedTagNames;
25
30
  private readonly globalPrefix;
26
31
  private readonly hooks;
27
32
  private readonly registeredSchemes;
@@ -30,11 +35,13 @@ export declare class PathBuilder {
30
35
  constructor(index: AstIndex, schemaBuilder: SchemaBuilder, options?: PathBuilderOptions);
31
36
  build(): Record<string, Record<string, unknown>>;
32
37
  /**
33
- * Root `tags[]` entries: one per distinct tag name in play. Controller tags
34
- * (name from `@Tag`/the default-tag hook, description from the class JSDoc;
35
- * first controller wins on a shared name) come first, then any method-level
36
- * `@Tag` name a controller didn't already declare — description-less, since a
37
- * method's JSDoc is its operation description, not a tag description.
38
+ * Root `tags[]` entries: one per tag name actually used by an operation.
39
+ * Controller tags (name from `@Tag`/the default-tag hook, description from the
40
+ * class JSDoc; first controller wins on a shared name) come first, then any
41
+ * method-level `@Tag` name a controller didn't already declare — description-
42
+ * less, since a method's JSDoc is its operation description, not a tag
43
+ * description. A controller tag no operation references (every method overrides
44
+ * it) is dropped, so empty controllers don't leak a dangling tag.
38
45
  */
39
46
  getTags(): {
40
47
  name: string;
@@ -11,6 +11,9 @@ const HTTP_METHODS = {
11
11
  Delete: 'delete',
12
12
  Patch: 'patch',
13
13
  };
14
+ // Media type used for request bodies and responses unless an endpoint overrides
15
+ // it with `@Accept` (request) or `@ContentType` (response) in its JSDoc.
16
+ const DEFAULT_MEDIA_TYPE = 'application/json';
14
17
  // NestJS's `HttpStatus` enum (from `@nestjs/common`) member name → numeric code.
15
18
  // Used to resolve `@HttpCode(HttpStatus.NO_CONTENT)` statically, since we can't
16
19
  // import `@nestjs/common` to read the value at runtime.
@@ -82,8 +85,13 @@ class PathBuilder {
82
85
  paths = {};
83
86
  usedOperationIds = new Set();
84
87
  tags = new Map();
85
- /** Distinct method-level `@Tag` names seen, declared in root after controllers. */
86
- methodTagNames = new Set();
88
+ /**
89
+ * Tag names actually referenced by an emitted operation — each operation's
90
+ * `@Tag`, or the controller tag it falls back to. A controller tag absent here
91
+ * is unused (e.g. its only method overrides it with its own `@Tag`) and so is
92
+ * not emitted in the root `tags[]`.
93
+ */
94
+ usedTagNames = new Set();
87
95
  globalPrefix;
88
96
  hooks;
89
97
  registeredSchemes;
@@ -105,21 +113,25 @@ class PathBuilder {
105
113
  // Declare any method-level @Tag name no controller already declared, so the
106
114
  // operation's tag isn't dangling. Done after all controllers so a controller's
107
115
  // description always wins over a description-less method-tag placeholder.
108
- for (const name of this.methodTagNames) {
116
+ for (const name of this.usedTagNames) {
109
117
  if (!this.tags.has(name))
110
118
  this.tags.set(name, undefined);
111
119
  }
112
120
  return this.paths;
113
121
  }
114
122
  /**
115
- * Root `tags[]` entries: one per distinct tag name in play. Controller tags
116
- * (name from `@Tag`/the default-tag hook, description from the class JSDoc;
117
- * first controller wins on a shared name) come first, then any method-level
118
- * `@Tag` name a controller didn't already declare — description-less, since a
119
- * method's JSDoc is its operation description, not a tag description.
123
+ * Root `tags[]` entries: one per tag name actually used by an operation.
124
+ * Controller tags (name from `@Tag`/the default-tag hook, description from the
125
+ * class JSDoc; first controller wins on a shared name) come first, then any
126
+ * method-level `@Tag` name a controller didn't already declare — description-
127
+ * less, since a method's JSDoc is its operation description, not a tag
128
+ * description. A controller tag no operation references (every method overrides
129
+ * it) is dropped, so empty controllers don't leak a dangling tag.
120
130
  */
121
131
  getTags() {
122
- return [...this.tags.entries()].map(([name, description]) => description ? { name, description } : { name });
132
+ return [...this.tags.entries()]
133
+ .filter(([name]) => this.usedTagNames.has(name))
134
+ .map(([name, description]) => (description ? { name, description } : { name }));
123
135
  }
124
136
  processController(controller) {
125
137
  if (!(0, tags_1.isVisible)((0, tags_1.getScopes)((0, tags_1.getTags)(controller)), this.activeScopes))
@@ -157,7 +169,7 @@ class PathBuilder {
157
169
  for (const route of routePaths) {
158
170
  const rawPath = this.joinPath(this.globalPrefix, base, route);
159
171
  for (const fullPath of this.expandRoutePaths(rawPath, controller, method)) {
160
- this.methodTagNames.add(methodTag);
172
+ this.usedTagNames.add(methodTag);
161
173
  const templateParams = this.pathParamNames(fullPath);
162
174
  const operation = this.buildOperation(controller, method, httpMethod, methodTag, templateParams);
163
175
  this.paths[fullPath] ??= {};
@@ -175,6 +187,11 @@ class PathBuilder {
175
187
  const summary = this.resolveSummary(controller, method, httpMethod);
176
188
  if (summary)
177
189
  operation.summary = summary;
190
+ // `@Accept <type>` overrides the request body media type; `@ContentType
191
+ // <type>` overrides the response media type. Both default to JSON.
192
+ const methodTags = (0, tags_1.getTags)(method);
193
+ const acceptMediaType = methodTags.Accept?.[0] || DEFAULT_MEDIA_TYPE;
194
+ const responseMediaType = methodTags.ContentType?.[0] || DEFAULT_MEDIA_TYPE;
178
195
  const rawDesc = method.getJsDocs()[0]?.getCommentText();
179
196
  const desc = rawDesc
180
197
  ? (0, tags_1.filterScopedComments)(rawDesc, this.activeScopes, {
@@ -223,7 +240,7 @@ class PathBuilder {
223
240
  break;
224
241
  }
225
242
  case 'Body':
226
- requestBody = this.buildRequestBody(param);
243
+ requestBody = this.buildRequestBody(param, acceptMediaType);
227
244
  break;
228
245
  }
229
246
  }
@@ -242,7 +259,7 @@ class PathBuilder {
242
259
  operation.parameters = parameters;
243
260
  if (requestBody)
244
261
  operation.requestBody = requestBody;
245
- operation.responses = this.buildResponses(method, httpMethod);
262
+ operation.responses = this.buildResponses(method, httpMethod, responseMediaType);
246
263
  const security = this.buildSecurity(controller, method);
247
264
  if (security !== undefined)
248
265
  operation.security = security;
@@ -281,11 +298,11 @@ class PathBuilder {
281
298
  schema,
282
299
  }));
283
300
  }
284
- buildRequestBody(param) {
301
+ buildRequestBody(param, mediaType) {
285
302
  const schema = this.schemaBuilder.typeToSchema(param.getType());
286
- return { required: true, content: { 'application/json': { schema } } };
303
+ return { required: true, content: { [mediaType]: { schema } } };
287
304
  }
288
- buildResponses(method, httpMethod) {
305
+ buildResponses(method, httpMethod, mediaType) {
289
306
  let returnType = method.getReturnType();
290
307
  if (ast_index_1.AstIndex.symbolName(returnType) === 'Promise') {
291
308
  const args = returnType.getTypeArguments();
@@ -296,7 +313,7 @@ class PathBuilder {
296
313
  const status = this.responseStatus(method, httpMethod);
297
314
  const response = { description: 'Successful response' };
298
315
  if (responseSchema !== undefined) {
299
- response.content = { 'application/json': { schema: responseSchema } };
316
+ response.content = { [mediaType]: { schema: responseSchema } };
300
317
  }
301
318
  return { [status]: response };
302
319
  }
@@ -1 +1 @@
1
- {"version":3,"file":"path-builder.js","sourceRoot":"","sources":["../../src/parser/path-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path-builder.js","sourceRoot":"","sources":["../../src/parser/path-builder.ts"],"names":[],"mappings":";;;AAAA,uCAOkB;AAGlB,2CAAuC;AAEvC,iCAA6E;AAE7E,MAAM,YAAY,GAA2B;IAC3C,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,gFAAgF;AAChF,yEAAyE;AACzE,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAE9C,iFAAiF;AACjF,gFAAgF;AAChF,wDAAwD;AACxD,MAAM,iBAAiB,GAA2B;IAChD,QAAQ,EAAE,GAAG;IACb,mBAAmB,EAAE,GAAG;IACxB,UAAU,EAAE,GAAG;IACf,UAAU,EAAE,GAAG;IACf,EAAE,EAAE,GAAG;IACP,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,6BAA6B,EAAE,GAAG;IAClC,UAAU,EAAE,GAAG;IACf,aAAa,EAAE,GAAG;IAClB,eAAe,EAAE,GAAG;IACpB,SAAS,EAAE,GAAG;IACd,iBAAiB,EAAE,GAAG;IACtB,KAAK,EAAE,GAAG;IACV,SAAS,EAAE,GAAG;IACd,YAAY,EAAE,GAAG;IACjB,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,GAAG;IACvB,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,gBAAgB,EAAE,GAAG;IACrB,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,kBAAkB,EAAE,GAAG;IACvB,cAAc,EAAE,GAAG;IACnB,6BAA6B,EAAE,GAAG;IAClC,eAAe,EAAE,GAAG;IACpB,QAAQ,EAAE,GAAG;IACb,IAAI,EAAE,GAAG;IACT,eAAe,EAAE,GAAG;IACpB,mBAAmB,EAAE,GAAG;IACxB,iBAAiB,EAAE,GAAG;IACtB,YAAY,EAAE,GAAG;IACjB,sBAAsB,EAAE,GAAG;IAC3B,+BAA+B,EAAE,GAAG;IACpC,kBAAkB,EAAE,GAAG;IACvB,aAAa,EAAE,GAAG;IAClB,WAAW,EAAE,GAAG;IAChB,oBAAoB,EAAE,GAAG;IACzB,iBAAiB,EAAE,GAAG;IACtB,qBAAqB,EAAE,GAAG;IAC1B,iBAAiB,EAAE,GAAG;IACtB,qBAAqB,EAAE,GAAG;IAC1B,eAAe,EAAE,GAAG;IACpB,WAAW,EAAE,GAAG;IAChB,mBAAmB,EAAE,GAAG;IACxB,eAAe,EAAE,GAAG;IACpB,0BAA0B,EAAE,GAAG;CAChC,CAAC;AAEF,oFAAoF;AACpF,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,MAAM,GAAG,IAAI;SAChB,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAWD;;;;GAIG;AACH,MAAa,WAAW;IAkBH;IACA;IAlBF,KAAK,GAA4C,EAAE,CAAC;IACpD,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,IAAI,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC9D;;;;;OAKG;IACc,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,YAAY,CAAS;IACrB,KAAK,CAAkB;IACvB,iBAAiB,CAAW;IAC5B,YAAY,CAAc;IAC1B,WAAW,CAA0B;IAEtD,YACmB,KAAe,EACf,aAA4B,EAC7C,UAA8B,EAAE;QAFf,UAAK,GAAL,KAAK,CAAU;QACf,kBAAa,GAAb,aAAa,CAAe;QAG7C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,GAAG,EAAE,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,KAAK;QACH,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;QACD,4EAA4E;QAC5E,+EAA+E;QAC/E,0EAA0E;QAC1E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO;QACL,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aAC5B,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC;IAEO,iBAAiB,CAAC,UAA4B;QACpD,IAAI,CAAC,IAAA,gBAAS,EAAC,IAAA,gBAAS,EAAC,IAAA,cAAO,EAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC;YAAE,OAAO;QAE1E,2EAA2E;QAC3E,2EAA2E;QAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,IAAA,cAAO,EAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,GAAG,GACP,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC;QAEzF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,OAAO;gBAClB,CAAC,CAAC,IAAA,2BAAoB,EAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;oBAC/C,QAAQ,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,QAAQ,QAAQ;oBACrD,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,IAAA,gBAAS,EAAC,IAAA,gBAAS,EAAC,IAAA,cAAO,EAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC;gBAAE,SAAS;YAExE,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACpF,IAAI,CAAC,aAAa;gBAAE,SAAS;YAE7B,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;YAElD,qEAAqE;YACrE,2EAA2E;YAC3E,4EAA4E;YAC5E,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;oBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC9D,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;wBAC1E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBACjC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;wBACrD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CACnC,UAAU,EACV,MAAM,EACN,UAAU,EACV,SAAS,EACT,cAAc,CACf,CAAC;wBAEF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;wBAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;oBAC/C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc,CACpB,UAA4B,EAC5B,MAAyB,EACzB,UAAkB,EAClB,GAAW,EACX,cAAwB;QAExB,MAAM,SAAS,GAA4B;YACzC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1D,IAAI,EAAE,CAAC,GAAG,CAAC;SACZ,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,OAAO;YAAE,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QAEzC,wEAAwE;QACxE,mEAAmE;QACnE,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,MAAM,CAAC,CAAC;QACnC,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC;QACrE,MAAM,iBAAiB,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC;QAE5E,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC,IAAA,2BAAoB,EAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;gBAC/C,QAAQ,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE;gBACnE,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,IAAI;YAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;QAEvC,2EAA2E;QAC3E,sEAAsE;QACtE,wEAAwE;QACxE,0CAA0C;QAC1C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAyB,CAAC;QAC5D,MAAM,eAAe,GAA8B,EAAE,CAAC;QACtD,IAAI,WAAgD,CAAC;QAErD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,KAAK;iBACpB,aAAa,EAAE;iBACf,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,QAAQ,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5B,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBAC1C,qEAAqE;oBACrE,mEAAmE;oBACnE,iCAAiC;oBACjC,IAAI,IAAI;wBAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC3E,MAAM;gBACR,CAAC;gBACD,KAAK,OAAO;oBACV,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;oBACrE,MAAM;gBACR,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBAChD,IAAI,UAAU,EAAE,CAAC;wBACf,eAAe,CAAC,IAAI,CAAC;4BACnB,IAAI,EAAE,UAAU;4BAChB,EAAE,EAAE,QAAQ;4BACZ,QAAQ,EAAE,KAAK;4BACf,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC3B,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM;oBACT,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBAC5D,MAAM;YACV,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,yCAAyC;QACzC,MAAM,UAAU,GAA8B,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1E,IAAI;YACJ,EAAE,EAAE,MAAM;YACV,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3D,CAAC,CAAC,CAAC;QACJ,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QAEpC,IAAI,UAAU,CAAC,MAAM;YAAE,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC;QACzD,IAAI,WAAW;YAAE,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;QACrD,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAEjF,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACxD,IAAI,QAAQ,KAAK,SAAS;YAAE,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE1D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,cAAc,CACpB,UAA4B,EAC5B,MAAyB,EACzB,UAAkB;QAElB,MAAM,KAAK,GAAG,IAAA,cAAO,EAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QAExB,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;YAChF,cAAc,CACf,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAC1B,SAAoB,EACpB,KAA2B;QAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC7C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO;gBACL,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;aAC5F,CAAC;QACJ,CAAC;QAED,iFAAiF;QACjF,MAAM,SAAS,GAAG,oBAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACjE,IAAI;YACJ,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACzC,MAAM;SACP,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,gBAAgB,CACtB,KAA2B,EAC3B,SAAiB;QAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC;IAEO,cAAc,CACpB,MAAyB,EACzB,UAAkB,EAClB,SAAiB;QAEjB,IAAI,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,oBAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,MAAM;gBAAE,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEvD,MAAM,QAAQ,GAA4B,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QACjF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC;QACjE,CAAC;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAAC,MAAyB,EAAE,UAAkB;QAClE,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,eAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;YACrE,IAAI,eAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9C,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QACD,OAAO,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/C,CAAC;IAEO,qBAAqB,CAC3B,MAAyB,EACzB,UAAgB;QAEhB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QAEhE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;YACpC,MAAM;YACN,UAAU;YACV,cAAc,EAAE,oBAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;YAC/C,cAAc,EAAE,UAAU,CAAC,gBAAgB,EAAE;YAC7C,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACjF,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CACnB,UAA4B,EAC5B,MAAyB;QAEzB,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;gBAChC,UAAU;gBACV,MAAM;gBACN,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;aAC1C,CAAC,CAAC;QACL,CAAC;QAED,yDAAyD;QACzD,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC1D,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IAEO,WAAW,CAAC,SAAoB,EAAE,KAA2B;QACnE,MAAM,QAAQ,GAAG,SAAS;aACvB,YAAY,EAAE;aACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;aACvB,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAClF,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAClE,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEO,SAAS,CAAC,SAAgC,EAAE,KAAa;QAC/D,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QACjC,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,GAAG,IAAI,eAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACK,UAAU,CAAC,SAAgC,EAAE,KAAa;QAChE,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,IAAI,MAAM,GAAa,EAAE,CAAC;QAC1B,IAAI,eAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,eAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG;iBACT,WAAW,EAAE;iBACb,MAAM,CAAC,eAAI,CAAC,eAAe,CAAC;iBAC5B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9B,CAAC;IAEO,UAAU,CAAC,UAA4B;QAC7C,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;IAEO,iBAAiB,CAAC,GAAW,EAAE,UAAkB;QACvD,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QACxD,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,EAAE,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,EAAE,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,QAAQ,CAAC,GAAG,KAAe;QACjC,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;OAQG;IACK,gBAAgB,CACtB,OAAe,EACf,UAA4B,EAC5B,MAAyB;QAEzB,MAAM,KAAK,GAAG,GAAW,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACtF,MAAM,IAAI,GAAG,CAAC,MAAc,EAAY,EAAE;YACxC,OAAO,CAAC,IAAI,CAAC,gCAAgC,OAAO,MAAM,KAAK,EAAE,MAAM,MAAM,EAAE,CAAC,CAAC;YACjF,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CACT,2GAA2G,CAC5G,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,yEAAyE;QACzE,sEAAsE;QACtE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO;YACL,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5C,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,SAAiB;QACrC,IAAI,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iFAAiF;IACzE,cAAc,CAAC,WAAmB;QACxC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA7cD,kCA6cC"}
package/docs/parser.md CHANGED
@@ -80,6 +80,31 @@ The default is "method return type **is** the response body" with status `201` f
80
80
 
81
81
  **`@HttpCode(...)` overrides the status.** A handler decorated with `@HttpCode(204)` (numeric literal) or `@HttpCode(HttpStatus.NO_CONTENT)` (the `HttpStatus` member is resolved from a built-in name→code table) uses that code as the response key instead of the 201/200 default — matching NestJS's own behavior.
82
82
 
83
+ ## Media types — `@Accept` / `@ContentType`
84
+
85
+ Request bodies and responses default to `application/json`. Override per endpoint with a JSDoc tag on the method (single line, like `@Tag`/`@Name`):
86
+
87
+ | Tag | Overrides |
88
+ | --------------------------- | ------------------------------------------- |
89
+ | `@Accept <media-type>` | the **request body** media type (`@Body()`) |
90
+ | `@ContentType <media-type>` | the **response** media type |
91
+
92
+ ```ts
93
+ @Controller('files')
94
+ export class FilesController {
95
+ /**
96
+ * @Accept multipart/form-data
97
+ * @ContentType application/xml
98
+ */
99
+ @Post('upload')
100
+ upload(@Body() dto: UploadDto): FileInfo {
101
+ /* ... */
102
+ }
103
+ }
104
+ ```
105
+
106
+ The `@Body()` schema becomes the `multipart/form-data` content, and the response schema the `application/xml` content. Each tag is independent — set one, the other stays JSON. `@Accept` has no effect on an endpoint without a `@Body()`; `@ContentType` has none when the response has no body.
107
+
83
108
  ## Schemas
84
109
 
85
110
  The schema builder accepts TypeScript classes and produces OpenAPI object schemas:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nestjs-openapi-parser",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "CLI that parses a NestJS project with ts-morph and generates an OpenAPI document.",
5
5
  "author": "MobilyFlow",
6
6
  "license": "MIT",