π§© Integrate OpenAPI TypeScript Client into Angular 19 with Signals
@budrobundy69 is already working on this.
Since Jun 1, 2025.
Assessment
This issue has not been assessed yet.
Description
π§© Integrate OpenAPI TypeScript Client into Angular 19 with Signals
Goal: Use the generated OpenAPI TS client to communicate with the backend, and manage state using Angular Signals and SignalStore.
β Tasks
1. Setup SignalStore
- Create a signal store (
apiStore) infrontend/src/app/stores/ - Store loading state, errors, and response data
- Export actions for component usage
2. Create ApiService Wrapper
- Create
api.service.tsinfrontend/src/app/services/ - Inject OpenAPI-generated services (e.g.,
DefaultService) - Wrap service methods to return observables or promises
- Handle and log HTTP errors gracefully
3. Create Example Feature
- Create a component that:
- Triggers an API call using the store
- Displays loading/error/success state
- Uses Signals for UI updates
4. Optional: Add Test Coverage
- Unit test the SignalStore and ApiService
- Mock OpenAPI responses
π Suggested Structure
frontend/
βββ src/
β βββ app/
β β βββ api/ # OpenAPI-generated
β β βββ services/
β β β βββ api.service.ts
β β βββ stores/
β β β βββ api.store.ts
β β βββ features/
β β βββ sample/
β β βββ sample.component.ts
π Next Steps (Separate Issues)
- Add tests to CI
- Extend SignalStore pattern across features
- Trigger OpenAPI client generation automatically in CI
- Cloud Foundry deploy with OpenAPI client
Labels: π openapi, π§± frontend, π angular, π¦ integration, β‘ state, π§ͺ test
Milestone: M1 - Backend MVP
Project: OpenAPI Angular Spring Example
- Dominant language
- HTML
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up β it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from budrobundy69/openapi-angular-spring-example
-
π¨ frontend π οΈ setup
budrobundy69/openapi-angular-spring-example#20 Β· 1 assignee Β·
-
π± symbols Openπ± enhancement π documentation
budrobundy69/openapi-angular-spring-example#10 Β· 1 assignee Β·
-
π documentation π openapi π§© backend
budrobundy69/openapi-angular-spring-example#2 Β· 1 assignee Β·
-
π οΈ setup π§© backend
budrobundy69/openapi-angular-spring-example#1 Β· 1 assignee Β·