Swagger

From Wiki EM2
Revision as of 13:56, 28 February 2022 by Em2WikiAdmin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Koraci za automatsko generiranje API-ja za angular

Instalacija -

  • Prvo u projekt instaliramo openapi generator naredbom:
npm i @openapitools/openapi-generator-cli --save-dev
  • Zatim u package.json u skripte treba dodati skriptu:
"scripts": {
    "ng": "ng",
    //other scripts...
    "generate-client-sdk": "generate-client.bat"
  },
  • Kreiramo novi bat file u folderu projekta sa nazivom generate-client.bat koji izgleda ovako;
@echo off
cd src 
cd app 
if exist api-client ( rmdir /s /q api-client && mkdir api-client) else ( mkdir api-client ) 
openapi-generator-cli generate -i "backend URL here without quotes" -g typescript-angular -o api-client --additional-properties ngVersion=11.2.13

Treba paziti da se umjesto "backend URL without quotes here" unese url backenda.

Također obratite pažnju na zadnji property, ngVersion. Tu biramo verziju angulara za koju trebamo endpointe.

  • Kada prvi put generiramo uz pomoć komande za korištenje dolje, potrebno je importati ApiModule i BASE_PATH u app.module te dodati provider kao što je prikazano:
//other imports...
import { ApiModule  } from './api-client/api.module';
import { BASE_PATH  } from './api-client/variables';


@NgModule({
  declarations: [
    //...
  ],
  imports: [
    //...
    ApiModule
  ],
  providers: [
    {provide: BASE_PATH, useValue: 'backend url here'}

Važno je dodati backend url, ovdje ide unutar navodnih znakova.

Korištenje -

  • Pokrenemo naredbu:
npm run generate-client-sdk

Svi fajlovi sa swaggera su generirani u datoteci src/app/api-client.