genese-api-angular is a code generator for Angular apps.
This module will generate automatically your DTO models and your data-services from your OpenApi file. Moreover, with the help of genese-angular module, all these data-services will use and return typed objects corresponding to the schemas included in you OpenApi file.
You can find a demonstrator of genese-api-angular here.
For more information about OpenApi specifications : official website
This module is a powerful tool which will improve your productivity in building web apps.
genese-api-angular is a Genese module used for Angular applications, which will save your time and help you to develop Angular applications faster. With genese-api-angular, all your Angular data-services and all your DTOs will be automatically generated. No more html requests, no more mappers, no more tests of mappers... With the help of genese-angular, genese-api-angular generates all the data-services with mappers which are returning typed objects coming from backend.
Returning typed objects from your data-services to your components is fundamental : if you do not, your components could receive incorrect data from the backend, and your application would crash. That's why the mappers are so important. Without Genese framework, writing mappers is long and fastidious: you need to write unit tests for your mappers, and add some mock values to be able to do these tests. Idem for your http requests, which should be tested with some tools like HttMock. Genese framework is doing that for you.
DTOs
No need to write any data-model (DTO) : genese-api-angular will create them automatically (using your OpenApi file)
DATA-SERVICES
No need to write any data-service. No HTML requests, no mappers : genese-api-angular will create them for you (using your OpenApi file)
GET requests
You will be sure the objects received from your GET requests have correct type (under the hood, genese-mapper maps all your data)
PUT and POST requests
You will be sure to send correctly typed objects in your POST or PUT requests (with auto-completion in your preferred IDE)
DELETE requests
You will be sure the response returned by the DELETE method will be correctly typed (if you want to receive typed objects from DELETE methods)
Supposing that you want to create a basic Angular application managing your book's library. Your API will contain only the classic CRUD methods getBook, getAllBooks, postBook, putBook and deleteBook.
At first, you must create your OpenApi file. You can do that easily with the excellent Apicurio application. Download the JSON file corresponding to your API and put it in the root folder of your application, with the name genese-api.json.
Supposing that you created one path /books for getAllBooks and postBook methods, and another path /books/{id} for getBook, putBook and deleteBook methods, you will obtain approximately this OpenApi JSON file :