OpenAPITools / openapi-generator

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
https://openapi-generator.tech
Apache License 2.0
21.98k stars 6.6k forks source link

[BUG] [Typescript] Wrong usage of RequiredError #10459

Closed bodograumann closed 3 years ago

bodograumann commented 3 years ago

Bug Report Checklist

Description

The RequiredError in the typescript generated code looks like this:

export class RequiredError extends Error {
    name: "RequiredError" = "RequiredError";
    constructor(public field: string, msg?: string) {
        super(msg);
    }
}

Cf. https://github.com/OpenAPITools/openapi-generator/blob/master/samples/openapi3/client/petstore/typescript/builds/default/apis/baseapi.ts#L32-L37

It is used like this though:

 throw new RequiredError('Required parameter pet was null or undefined when calling addPet.');

Cf. https://github.com/OpenAPITools/openapi-generator/blob/master/samples/openapi3/client/petstore/typescript/builds/default/apis/PetApi.ts#L29

I.e. the field parameter is missing in the construction. In practice this means, the error message is empty and the message string is set on the field attribute of the error.

openapi-generator version

5.1.1 locally and also on current main.

Suggest a fix

RequiredError should get two parameters method and field. The error message can then be generated at a single point. As a bonus the API name can also be included as a prefix in the method parameter.

omeralper commented 2 years ago

I solved the problem by upgrading babel loader