Skip to content

Commit e40b6d0

Browse files
author
Alain BOUDARD
committed
fix: load api data in mfe1
1 parent be98f88 commit e40b6d0

File tree

11 files changed

+100
-5
lines changed

11 files changed

+100
-5
lines changed

application/ng-shell/src/app/app.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<h1>{{title}}</h1>
22
<ul>
3-
<li>Home</li>
3+
<li><a routerLink="/">Home</a></li>
44
<li><a routerLink="users">Users</a></li>
55
<li *ngFor="let remote of remotes">
66
<a [routerLink]="remote.routePath">{{remote.displayName}}</a>

application/ng-shell/src/app/app.module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { HttpClientModule } from '@angular/common/http';
12
import { NgModule } from '@angular/core';
23
import { BrowserModule } from '@angular/platform-browser';
34

@@ -10,6 +11,7 @@ import { AppComponent } from './app.component';
1011
],
1112
imports: [
1213
BrowserModule,
14+
HttpClientModule,
1315
AppRoutingModule
1416
],
1517
providers: [],

application/src/main/java/com/cit/application/controllers/HelloController.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,9 @@ public MicroFrontend microfontend() {
4040

4141
public static class MicroFrontend {
4242
private Manifest mfe1;
43-
4443
public MicroFrontend(Manifest mfe1) {
4544
this.mfe1 = mfe1;
4645
}
47-
4846
public Manifest getMfe1() {
4947
return mfe1;
5048
}

library/mfe1/src/app/app.module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { HttpClientModule } from '@angular/common/http';
12
import { NgModule } from '@angular/core';
23
import { BrowserModule } from '@angular/platform-browser';
34

@@ -10,6 +11,7 @@ import { AppComponent } from './app.component';
1011
],
1112
imports: [
1213
BrowserModule,
14+
HttpClientModule,
1315
AppRoutingModule
1416
],
1517
providers: [],
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,7 @@
11
<p>orders works!</p>
2+
<ng-container *ngIf="(orders$ | async) as orders">
3+
<div *ngFor="let order of orders">
4+
<p>{{order.id}} / {{order.name}} / {{order.description}}</p>
5+
</div>
6+
</ng-container>
7+
Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1+
import { HttpClient } from '@angular/common/http';
12
import { Component, OnInit } from '@angular/core';
3+
import { Observable } from 'rxjs';
4+
import { OrdersService } from '../services/orders.service';
25

36
@Component({
47
selector: 'app-orders',
@@ -7,9 +10,18 @@ import { Component, OnInit } from '@angular/core';
710
})
811
export class OrdersComponent implements OnInit {
912

10-
constructor() { }
13+
public orders$: Observable<any>;
14+
15+
constructor(
16+
private ordersService: OrdersService
17+
) {
18+
this.orders$ = this.ordersService.getOrders();
19+
}
1120

1221
ngOnInit(): void {
22+
1323
}
1424

25+
26+
1527
}

library/mfe1/src/app/orders/orders.module.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { HttpClient, HttpClientModule } from '@angular/common/http';
12
import { NgModule } from '@angular/core';
23
import { CommonModule } from '@angular/common';
34

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { TestBed } from '@angular/core/testing';
2+
3+
import { OrdersService } from './orders.service';
4+
5+
describe('OrdersService', () => {
6+
let service: OrdersService;
7+
8+
beforeEach(() => {
9+
TestBed.configureTestingModule({});
10+
service = TestBed.inject(OrdersService);
11+
});
12+
13+
it('should be created', () => {
14+
expect(service).toBeTruthy();
15+
});
16+
});
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { HttpClient } from '@angular/common/http';
2+
import { Injectable } from '@angular/core';
3+
import { Observable } from 'rxjs';
4+
5+
type Order = {
6+
id: number;
7+
description: string;
8+
name: string;
9+
}
10+
11+
@Injectable({
12+
providedIn: 'root',
13+
})
14+
export class OrdersService {
15+
16+
constructor(private httpClient: HttpClient) { }
17+
18+
public getOrders(): Observable<Order[]> {
19+
return this.httpClient.get<Order[]>('http://localhost:8080/ng-shell/api/orders');
20+
}
21+
}

library/src/main/java/com/cit/mfe1/controllers/Mfe1Controller.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.cit.mfe1.controllers;
22

3+
import java.util.ArrayList;
4+
import java.util.List;
5+
36
import org.springframework.beans.factory.annotation.Autowired;
47
import org.springframework.web.bind.annotation.GetMapping;
58
import org.springframework.web.bind.annotation.RestController;
@@ -16,4 +19,38 @@ public class Mfe1Controller {
1619
public String index() {
1720
return mfe1Service.message();
1821
}
22+
23+
@GetMapping("/api/orders")
24+
public List<Order> orders() {
25+
ArrayList<Order> list = new ArrayList<Order>();
26+
list.add(new Order("1", "Order 1", "Order 1 description"));
27+
list.add(new Order("2", "Order 2", "Order 2 description"));
28+
29+
return list;
30+
}
31+
32+
public static class Order {
33+
private String id;
34+
private String name;
35+
private String description;
36+
37+
public Order(String id, String name, String description) {
38+
this.id = id;
39+
this.name = name;
40+
this.description = description;
41+
}
42+
43+
public String getId() {
44+
return id;
45+
}
46+
47+
public String getName() {
48+
return name;
49+
}
50+
51+
public String getDescription() {
52+
return description;
53+
}
54+
}
55+
1956
}

0 commit comments

Comments
 (0)