%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#fabd2f", "primaryTextColor": "#282828", "primaryBorderColor": "#b57614", "lineColor": "#7c6f64", "secondaryColor": "#83a598", "tertiaryColor": "#b8bb26", "background": "#fbf1c7", "mainBkg": "#ebdbb2", "fontFamily": "Tahoma, sans-serif"}}}%% flowchart LR subgraph Era1["ยุค AJAX / XMLHttpRequest"] A["XMLHttpRequestCallback Based"] end subgraph Era2["ยุค Fetch / Promise API"] B["fetch()Promise Based"] end subgraph Era3["ยุค Angular HttpClient / Observable API"] C["HttpClientObservable Based"] D["Interceptorsจัดการ Header/Error กลาง"] end A --> B --> C --> D
%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#fabd2f", "primaryTextColor": "#282828", "primaryBorderColor": "#b57614", "lineColor": "#7c6f64", "secondaryColor": "#83a598", "tertiaryColor": "#b8bb26", "background": "#fbf1c7", "mainBkg": "#ebdbb2", "fontFamily": "Tahoma, sans-serif"}}}%% flowchart LR A["Componentหน้าจอ"] --> B["UserServiceเรียก API"] B --> C["HttpClientHTTP Request"] C --> D["REST APIServer"] D --> E["JSON Responseข้อมูลตอบกลับ"] E --> B --> A