{"id":79,"date":"2026-05-26T07:21:24","date_gmt":"2026-05-26T07:21:24","guid":{"rendered":"https:\/\/www.vpascode.com\/vn\/docs\/uncategorized\/plantuml-playbook\/plantuml-component-diagram-syntax-guide\/"},"modified":"2026-07-30T01:19:42","modified_gmt":"2026-07-30T01:19:42","slug":"plantuml-component-diagram-syntax-guide","status":"publish","type":"ld_docs","link":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-component-diagram-syntax-guide\/","title":{"rendered":"PlantUML Component Diagram Syntax Guide"},"content":{"rendered":"<h2>What is a Component Diagram?<\/h2>\n<p>A <strong>Component Diagram<\/strong> is a structural <strong>UML diagram<\/strong> that maps out the high-level modular organization of a software system. As a vital component of the Unified Modeling Language (UML) specification, this specific <strong>UML diagram type<\/strong> visualizes how physical code modules, libraries, microservices, execution packages, and database layers are structurally grouped and interconnected. It shifts the documentation focus away from fine-grained class definitions, allowing software architects and principal engineers to illustrate system integration boundaries, API orchestration paths, and third-party dependencies clearly.<\/p>\n<p>Whether you are outlining a modern cloud-native microservice topology or showing how an internal framework library hooks into your legacy application core, a UML component map provides a clear, structural overview of system boundaries. With <strong>VPasCode<\/strong>, your component layouts are rendered automatically based on declarative text, eliminating the hassle of manually adjusting layout boxes or connector wires.<\/p>\n<h2>Core Syntax Guide: Elements and Constructs<\/h2>\n<p>To design an elegant, standards-compliant UML component diagram in PlantUML, you need to master modular code block declarations, interface wiring mechanics, system package groupings, and directional connection parameters.<\/p>\n<h3>1. Declaring Software Components<\/h3>\n<p>You declare a software module using the <code>component<\/code> keyword. Alternatively, you can wrap a clean text identifier inside square brackets (<code>[Component Name]<\/code>), which acts as a global shorthand indicator:<\/p>\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:IyxFBSZFIyqhKGX8hCm5qgvvwPbvgRnSqOwb9HaAmQb5PPd9gR4AYSKA804e7m00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code data-language=\"plantuml\" class=\"language-plantuml\">component PaymentEngine\r\n[Auth Service] as AuthService<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:IyxFBSZFIyqhKGX8hCm5qgvvwPbvgRnSqOwb9HaAmQb5PPd9gR4AYSKA804e7m00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p id=\"kuAYxGJ\"><img decoding=\"async\" width=\"315\" height=\"48\" class=\"alignnone size-full wp-image-584 \" src=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a18fff7df724.png\" alt=\"\" srcset=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a18fff7df724.png 315w, https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a18fff7df724-300x46.png 300w\" sizes=\"(max-width: 315px) 100vw, 315px\" \/><\/p>\n<p><em>Pro Tip:<\/em> Always pair long component strings with an <code>as<\/code> identifier (like <code>as AuthService<\/code>) to keep relationship lines clean and readable.<\/p>\n<h3>2. Defining Ports and Interfaces<\/h3>\n<p>Components interact with one another through structural entry points. You can explicitly model standard UML interfaces (represented visually by a clean &#8220;lollipop&#8221; circle icon) using the <code>interface<\/code> keyword:<\/p>\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:oymhIIrAIqnELL0ASWqEKN0Cy5GeCr9II2nM24zD0l9ukQ8TIqioWbEBoZAJKsCLT7KrDA5I2bOAIgaL1Vd5gSLA0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code data-language=\"plantuml\" class=\"language-plantuml\">interface \"REST API v2\" as WebAPI\r\n[AuthService] --() WebAPI : \"exposes\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:oymhIIrAIqnELL0ASWqEKN0Cy5GeCr9II2nM24zD0l9ukQ8TIqioWbEBoZAJKsCLT7KrDA5I2bOAIgaL1Vd5gSLA0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p id=\"xsCdMaO\"><img decoding=\"async\" width=\"132\" height=\"188\" class=\"alignnone size-full wp-image-585 \" src=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a19000321f0e.png\" alt=\"\" \/><\/p>\n<h3>3. Mapping Component Dependencies<\/h3>\n<p>To show that one system module relies on or communicates with another, use directional arrows (<code>--&gt;<\/code>). You can also use standard dotted dependency lines (<code>..&gt;<\/code>) to represent looser relationships, like message-queue consumption patterns or transient runtime calls:<\/p>\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:YtOhoiyhISrBKN0iA8XLqDMrKmXFJN8CyEJbWj0AUdfs2j4kYIM9IOd5gGgkUUcPUQcn2bOAIi61FWg1fQb5cQd5IW00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code data-language=\"plantuml\" class=\"language-plantuml\">[Frontend App] --&gt; WebAPI\r\nWebAPI ..&gt; [Database Engine] : \"SQL Queries\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:YtOhoiyhISrBKN0iA8XLqDMrKmXFJN8CyEJbWj0AUdfs2j4kYIM9IOd5gGgkUUcPUQcn2bOAIi61FWg1fQb5cQd5IW00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p id=\"vJvNXkh\"><img decoding=\"async\" width=\"162\" height=\"290\" class=\"alignnone size-full wp-image-586 \" src=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a19000fc072e.png\" alt=\"\" \/><\/p>\n<h3>4. Organizing Boundaries with Packages<\/h3>\n<p>To establish clean sub-system borders or categorize components based on deployment environments, wrap your module blocks inside structural <code>package<\/code> or <code>cloud<\/code> wrappers:<\/p>\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:AqXCpavCJrLG2avDBYtABAbKSCxFAqcjA55IgERbKW22QCVIaWo5uDIYiipar5YeM4X-TcgUGbXYJcPAOab-4L2u5W00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code data-language=\"plantuml\" class=\"language-plantuml\">package \"Security Context\" {\r\n    [Auth Service]\r\n    [Token Validator]\r\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:AqXCpavCJrLG2avDBYtABAbKSCxFAqcjA55IgERbKW22QCVIaWo5uDIYiipar5YeM4X-TcgUGbXYJcPAOab-4L2u5W00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p id=\"wDwUGVq\"><img loading=\"lazy\" decoding=\"async\" width=\"349\" height=\"99\" class=\"alignnone size-full wp-image-587 \" src=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a19001aed261.png\" alt=\"\" srcset=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a19001aed261.png 349w, https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a19001aed261-300x85.png 300w\" sizes=\"(max-width: 349px) 100vw, 349px\" \/><\/p>\n<h2>Best Practices for Clean Component Sub-Systems<\/h2>\n<ul>\n<li><strong>Keep Node Names High-Level:<\/strong> Avoid naming components after specific internal code files or directories. Use functional, high-level names like <code>[Notification Router]<\/code> or <code>[Cache Layer]<\/code>.<\/li>\n<li><strong>Leverage the Lollipop Notation:<\/strong> Instead of drawing plain lines between boxes, route connections through explicit <code>interface<\/code> nodes. This clearly distinguishes *what* interface is being exposed from *who* is consuming it.<\/li>\n<li><strong>Control Layout Expansion:<\/strong> Component maps expand quickly when tracking multiple sub-systems. Use spatial flags inside your dependency arrows (such as <code>-right-&gt;<\/code> or <code>-down-&gt;<\/code>) to organize your components cleanly across the canvas grid.<\/li>\n<\/ul>\n<h2>Real-World PlantUML Object Diagram Examples<\/h2>\n<h3>Example 1: Core API Gateway Mesh (Interfaces &amp; Package Groupings)<\/h3>\n<p>This boilerplate demonstrates a standard multi-tier system web setup, highlighting how a public user application hooks into internal microservices through structured REST API interfaces.<\/p>\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:RLBBJiCm4Bn7oZ-iUk7KNq1zg2eLL5XAKGu88ITPWaLYLxO3YX3_plfH9pnoMi-EPtRMMHdBjHtwBi_El7xZBSA23LKdQc0Q3KhBhL0IxlY8UW6VUGRqFPPOGS7MiEq4KPw06wXz6Vj7LOaEGTmNSqhlqJpxohEPtPeTOCyjVl0HYg4oex7O9oiXBUeNNXFnvdHYHQBkP7DMr5quPTTwtfVH_LR95cQothmDzM_thT886pgXRA10_IvgDF-vFnZKSEIIRlKKoEbxQuTJ_OU_4LqdmXoU5y-96cSzD2Gcx7ZnzhFomRx6FkEZjsDQqM36AUvaAsGWLa4qXhg2Kb2Qy_pXh9gIXoU2vV9wMbXuavzOB0YSxYRrY3ZXAgujfJPvTcaxmRIQEJZVGvv5YhCAeQUsmrA-5VdGN_eD\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\npackage \"Public Presentation Layer\" {\r\n    [Web SPA Client] as client\r\n    [Mobile iOS Client] as mobile\r\n}\r\n\r\npackage \"API Gateway Subsystem\" {\r\n    interface \"HTTPS Gateway Endpoint\" as HTTP_GW\r\n    [Kong API Gateway] as gateway\r\n}\r\n\r\npackage \"Core Backend Services\" {\r\n    interface \"User Management API\" as UserAPI\r\n    interface \"Billing API\" as BillingAPI\r\n    \r\n    [Identity Service] as auth\r\n    [Payment Processing Engine] as billing\r\n}\r\n\r\n' Wire presentation to gateway\r\nclient --&gt; HTTP_GW\r\nmobile --&gt; HTTP_GW\r\nHTTP_GW -- gateway\r\n\r\n' Wire gateway to backend interfaces\r\ngateway --&gt; UserAPI\r\ngateway --&gt; BillingAPI\r\n\r\nUserAPI -- auth\r\nBillingAPI -- billing\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:RLBBJiCm4Bn7oZ-iUk7KNq1zg2eLL5XAKGu88ITPWaLYLxO3YX3_plfH9pnoMi-EPtRMMHdBjHtwBi_El7xZBSA23LKdQc0Q3KhBhL0IxlY8UW6VUGRqFPPOGS7MiEq4KPw06wXz6Vj7LOaEGTmNSqhlqJpxohEPtPeTOCyjVl0HYg4oex7O9oiXBUeNNXFnvdHYHQBkP7DMr5quPTTwtfVH_LR95cQothmDzM_thT886pgXRA10_IvgDF-vFnZKSEIIRlKKoEbxQuTJ_OU_4LqdmXoU5y-96cSzD2Gcx7ZnzhFomRx6FkEZjsDQqM36AUvaAsGWLa4qXhg2Kb2Qy_pXh9gIXoU2vV9wMbXuavzOB0YSxYRrY3ZXAgujfJPvTcaxmRIQEJZVGvv5YhCAeQUsmrA-5VdGN_eD\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p id=\"IPoKTLn\"><img loading=\"lazy\" decoding=\"async\" width=\"472\" height=\"577\" class=\"alignnone size-full wp-image-588 \" src=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a19002718bf6.png\" alt=\"\" srcset=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a19002718bf6.png 472w, https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a19002718bf6-245x300.png 245w\" sizes=\"(max-width: 472px) 100vw, 472px\" \/><\/p>\n<p><strong>Syntax Breakdown:<\/strong> By nesting modules inside clean <code>package<\/code> boundaries, the automated layout engine creates beautifully distinct zones. The presentation clients connect exclusively to the single exposed <code>HTTP_GW<\/code> gateway port, which then manages internal traffic routing to the specialized backend microservice layers below.<\/p>\n<h3>Example 2: Cloud Data Processing Pipeline (Asynchronous Clouds &amp; Queues)<\/h3>\n<p>This advanced enterprise blueprint maps a real-world asynchronous cloud data architecture, tracing ingestion pipelines, decoupled message brokers, and physical storage endpoints.<\/p>\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:HLAnRkCm3DqD-1y8BpUb7RfrADfBCnokQ0EuW8UY0sCpjc1PT2dfqhIuVp_AYd6Q2F7nyRqdtVk04k9aowAr73ke7feQjalvJE74Ci9FZgv3ELVmNHQWv-sNwya7mmuQEWpCupkWXrEkC-OZKYHbcx4T27xZSKIbZJwGL0by41v9Bdnr4C89zi8jUSy2kp_a0ZIwdIHpBsM6TnZmW3wnJ_Yb8keRUDGxUCAH5d8VMB2dilXR5cNn7xzbcRKJAECR51eu-ZmarFd174CQ-R5gCQw7sSnaZICuMZx1HEs0phI-BDvsdsh7eLLd9Wb-cETts6pkrYZW5ghzI_qAru4iJHGqnB9Ocnin_H0KdRDOmF5WZHz0y0IMUrybCPVsrTNT9OQ4tBBpSI88F9jsYKHTfnJJWenAGYv9f8b6Z1flUPf5ZL47UnHzfG17OoblMj5frHf76drEGkqPTgzFK9zTEmWxyuNf1-ZSFRbEVz0_\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\ncloud \"AWS Cloud Network Boundary\" {\r\n    [Ingestion Webhook] as webhook\r\n    queue \"Apache Kafka Cluster\" as broker\r\n    [Stream Processor Event Worker] as worker\r\n    database \"Amazon S3 Data Lake\" as storage\r\n}\r\n\r\ndatabase \"Corporate Data Warehouse\" as redshift\r\n\r\n' Processing pipeline flow mechanics\r\n[External Client App] --&gt; webhook : \"POST \/telemetry\"\r\nwebhook -right-&gt; broker : \"Publish raw logs\"\r\n\r\nbroker ..&gt; worker : \"Consume topic data stream\"\r\nworker --&gt; storage : \"Write compressed Parquet files\"\r\n\r\nstorage ..&gt; redshift : \"Nightly ETL Synchronization\"\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:HLAnRkCm3DqD-1y8BpUb7RfrADfBCnokQ0EuW8UY0sCpjc1PT2dfqhIuVp_AYd6Q2F7nyRqdtVk04k9aowAr73ke7feQjalvJE74Ci9FZgv3ELVmNHQWv-sNwya7mmuQEWpCupkWXrEkC-OZKYHbcx4T27xZSKIbZJwGL0by41v9Bdnr4C89zi8jUSy2kp_a0ZIwdIHpBsM6TnZmW3wnJ_Yb8keRUDGxUCAH5d8VMB2dilXR5cNn7xzbcRKJAECR51eu-ZmarFd174CQ-R5gCQw7sSnaZICuMZx1HEs0phI-BDvsdsh7eLLd9Wb-cETts6pkrYZW5ghzI_qAru4iJHGqnB9Ocnin_H0KdRDOmF5WZHz0y0IMUrybCPVsrTNT9OQ4tBBpSI88F9jsYKHTfnJJWenAGYv9f8b6Z1flUPf5ZL47UnHzfG17OoblMj5frHf76drEGkqPTgzFK9zTEmWxyuNf1-ZSFRbEVz0_\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p id=\"prQSjVe\"><img loading=\"lazy\" decoding=\"async\" width=\"559\" height=\"562\" class=\"alignnone size-full wp-image-589 \" src=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a190035a60b3.png\" alt=\"\" srcset=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a190035a60b3.png 559w, https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a190035a60b3-298x300.png 298w, https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a190035a60b3-150x150.png 150w\" sizes=\"(max-width: 559px) 100vw, 559px\" \/><\/p>\n<p><strong>Syntax Breakdown:<\/strong> This example introduces the specialized <code>cloud<\/code> and <code>queue<\/code> shapes, giving developers immediate visual cues about structural topology. The use of the horizontal arrow override <code>-right-&gt;<\/code> ensures that data ingestion flows smoothly from left to right across the network grid, while dotted dependencies (<code>..&gt;<\/code>) accurately represent decoupled, asynchronous communications.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is a Component Diagram? A Component Diagram is a structural UML diagram that maps out the high-level modular organization of a software system. As a vital component of the Unified Modeling Language (UML) specification, this specific UML diagram type&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":47,"menu_order":7,"template":"","meta":{"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"ld_collection":[14],"class_list":["post-79","ld_docs","type-ld_docs","status-publish","hentry","ld_collection-vpascode-docs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PlantUML Component Diagram | VPasCode Text to Diagram Guide<\/title>\n<meta name=\"description\" content=\"Document software sub-systems and module relationships with PlantUML component diagrams in VPasCode, a free diagram-as-code tool.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-component-diagram-syntax-guide\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PlantUML Component Diagram | VPasCode Text to Diagram Guide\" \/>\n<meta property=\"og:description\" content=\"Document software sub-systems and module relationships with PlantUML component diagrams in VPasCode, a free diagram-as-code tool.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-component-diagram-syntax-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-30T01:19:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a18fff7df724.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-component-diagram-syntax-guide\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-component-diagram-syntax-guide\\\/\",\"name\":\"PlantUML Component Diagram | VPasCode Text to Diagram Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-component-diagram-syntax-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-component-diagram-syntax-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/05\\\/img_6a18fff7df724.png\",\"datePublished\":\"2026-05-26T07:21:24+00:00\",\"dateModified\":\"2026-07-30T01:19:42+00:00\",\"description\":\"Document software sub-systems and module relationships with PlantUML component diagrams in VPasCode, a free diagram-as-code tool.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-component-diagram-syntax-guide\\\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-component-diagram-syntax-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-component-diagram-syntax-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/05\\\/img_6a18fff7df724.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/05\\\/img_6a18fff7df724.png\",\"width\":315,\"height\":48},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-component-diagram-syntax-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lean Docs\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/%ld_collection%\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"PlantUML Playbook\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"PlantUML Component Diagram Syntax Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PlantUML Component Diagram | VPasCode Text to Diagram Guide","description":"Document software sub-systems and module relationships with PlantUML component diagrams in VPasCode, a free diagram-as-code tool.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-component-diagram-syntax-guide\/","og_locale":"vi_VN","og_type":"article","og_title":"PlantUML Component Diagram | VPasCode Text to Diagram Guide","og_description":"Document software sub-systems and module relationships with PlantUML component diagrams in VPasCode, a free diagram-as-code tool.","og_url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-component-diagram-syntax-guide\/","og_site_name":"VPasCode","article_modified_time":"2026-07-30T01:19:42+00:00","og_image":[{"url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a18fff7df724.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"4 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-component-diagram-syntax-guide\/","url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-component-diagram-syntax-guide\/","name":"PlantUML Component Diagram | VPasCode Text to Diagram Guide","isPartOf":{"@id":"https:\/\/www.vpascode.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-component-diagram-syntax-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-component-diagram-syntax-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a18fff7df724.png","datePublished":"2026-05-26T07:21:24+00:00","dateModified":"2026-07-30T01:19:42+00:00","description":"Document software sub-systems and module relationships with PlantUML component diagrams in VPasCode, a free diagram-as-code tool.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-component-diagram-syntax-guide\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-component-diagram-syntax-guide\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-component-diagram-syntax-guide\/#primaryimage","url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a18fff7df724.png","contentUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a18fff7df724.png","width":315,"height":48},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-component-diagram-syntax-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/vn\/"},{"@type":"ListItem","position":2,"name":"Lean Docs","item":"https:\/\/www.vpascode.com\/vn\/docs\/%ld_collection%\/"},{"@type":"ListItem","position":3,"name":"PlantUML Playbook","item":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/"},{"@type":"ListItem","position":4,"name":"PlantUML Component Diagram Syntax Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/vn\/#website","url":"https:\/\/www.vpascode.com\/vn\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/vn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/vn\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/vn\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs\/79","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs"}],"about":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/types\/ld_docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/users\/4"}],"up":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs\/47"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/media?parent=79"}],"wp:term":[{"taxonomy":"ld_collection","embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_collection?post=79"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}