#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>)