Создание пользовательского запроса заголовка, который должен быть обязательным

#node.js #typescript #tsoa

Вопрос:

У меня есть запрос tsoa, в котором я пытаюсь включить пользовательский обязательный заголовок, но его можно добавить только как необязательный, как это. @Header('X-Correlation-Id') correlationId?: string Я действительно хотел бы, чтобы это требовалось, есть ли способ достичь этого?

 @Post('case/businessContact')
public async handleCreateBusinessContactCase(
  @Header('X-Correlation-Id') correlationId: string,
  @Request() request: koa.Request,
  @Body() requestBody: ContactRequest,
): Promise<any> {
  correlationId = request.header['x-correlation-id'] as string;
  console.log('request: ', request.ctx);
  console.log('correlationId: ', correlationId);
  //const logCtx = LogContext.getLogContext(request.ctx, 'handleCreateBusinessContactCase');
  //console.log(logCtx);
  //const repsone = await createBusinessContactCase(logCtx, requestBody);
  //return Promise.resolve(repsone);
}
 

При такой настройке я получаю следующую ошибку

 BadRequestError: {"fields":{"X-Correlation-Id":{"message":"'X-Correlation-Id' is required"}}}
  at Object.throw (/Users/jonbrynjar/Development/Typescript/micro.salesforce/node_modules/koa/lib/context.js:97:11)
  at Object.<anonymous> (/Users/jonbrynjar/Development/Typescript/micro.salesforce/src/routes.ts:294:30)
  at step (/Users/jonbrynjar/Development/Typescript/micro.salesforce/src/routes.ts:33:23)
  at Object.next (/Users/jonbrynjar/Development/Typescript/micro.salesforce/src/routes.ts:14:53)
  at /Users/jonbrynjar/Development/Typescript/micro.salesforce/src/routes.ts:8:71
  at new Promise (<anonymous>)