Why does OpenApi generator name the class of service Api as "DefaultService" in Angular13

3.3k Views Asked by At

I add OpenApi Generator in my angular project, but when i generate the Api with the command " openapi-generator-cli generate -i ../openApi/src/main/resources/api.yml -g typescript-angular -o src/app/core/api/v1", the name of Api service generted is default.service.ts, how can I change the name generated ?

api.yml :

openapi: 3.0.3
info:
  title: Test
  description: 
  version: 1.0.0
servers:
  - url: /api
paths:
  /tests:
    $ref: './controllers/test.yml#/tests'

test.yml

tests:
  get:
    operationId: loadTests
    responses:
      '200':
        description: 
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '../model/test.yml#/b'

script added to package.json :

"generate:api": "openapi-generator-cli generate -i ../openApi/src/main/resources/api.yml -g typescript-angular -o src/app/core/api/v1" 

version of openApi :

"@openapitools/openapi-generator-cli": "^2.4.26",

image of files

1

There are 1 best solutions below

0
On

You can achieve this using tags in your operation object.

tests:
  get:
    tags:
    - testtag
    operationId: loadTests
    responses:
      '200':
        description: 
      ...

In the above example, you'd get testtag.service.ts. It is allowed to specify more than one tag - but be aware: for each tag there will be one .service.ts-file. You can but don't have to introduce these tags separately to add a description. All paths that have no tag will end up in the default.service.ts-file.

To learn more about tags and operations, you should have a look at the operation object chapter and/or the tag object chapter of the specification