{"id":19217,"date":"2021-12-25T09:10:23","date_gmt":"2021-12-25T02:10:23","guid":{"rendered":"https:\/\/huongdanjava.com\/?p=19217"},"modified":"2021-12-25T09:10:23","modified_gmt":"2021-12-25T02:10:23","slug":"an-introduction-about-microprofile","status":"publish","type":"post","link":"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html","title":{"rendered":"An introduction about MicroProfile"},"content":{"rendered":"<p><a href=\"https:\/\/microprofile.io\/\" target=\"_blank\" rel=\"noopener\">MicroProfile<\/a> is a set of APIs based on Jarkata EE that makes us easy to build Java Enterprise applications according to the microservices architecture model. These APIs include:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-19219 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/an-introduction-about-microprofile-1.png\" alt=\"\" width=\"700\" height=\"398\" \/><\/p>\n<p>With:<\/p>\n<ul>\n<li>Open Tracing is used to track the flow of a request to services.<\/li>\n<li>Open API is used to create API documentation, we often call it Swagger. You can see about <a href=\"https:\/\/huongdanjava.com\/documenting-your-restful-api-with-springfox-for-swagger-in-spring-boot.html\" target=\"_blank\" rel=\"noopener\">Swagger<\/a> in Spring Boot.<\/li>\n<li>Rest Client is used to calling a RESTful Web Service, similar to RestTemplate or <a href=\"https:\/\/huongdanjava.com\/consume-reactive-web-service-using-webclient-of-spring-webflux.html\" target=\"_blank\" rel=\"noopener\">WebClient<\/a> in Spring.<\/li>\n<li>Config is used to do things related to the configuration of the application.<\/li>\n<li>Fault Tolerance is used to handle cases where the application is failing.<\/li>\n<li>Metrics are used to define application metrics.<\/li>\n<li>JWT Propagation is used to work with access tokens in OAuth2 and OpenId Connect.<\/li>\n<li>Health exposes runtime information of services.<\/li>\n<li>Jakarta EE&#8217;s CDI: supports dependency injection in the application.<\/li>\n<li>JSON-P (JSON Processing) is used to convert Java object POJO to JSON.<\/li>\n<li>JAX-RS implements RESTful Web Service.<\/li>\n<li>JSON-B (JSON Binding) is used to convert JSON to Java objects.<\/li>\n<li>Jakarta Annotation by Jakarta EE defines a set of annotations for working with Jakarta EE applications.<\/li>\n<\/ul>\n<p>We can use the MicroProfile Starter tool to create a new MicroProfile project, similar to the Spring framework, at <a href=\"https:\/\/start.microprofile.io\/\" target=\"_blank\" rel=\"noopener\">https:\/\/start.microprofile.io\/<\/a>:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-19220 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/an-introduction-about-microprofile-2.png\" alt=\"\" width=\"700\" height=\"589\" \/><\/p>\n<p>As an example for this tutorial, I will create a new service using MicroProfile as follows:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-19221 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/an-introduction-about-microprofile-3.png\" alt=\"\" width=\"700\" height=\"529\" \/><\/p>\n<p>You don&#8217;t need to select APIs! By default, all MicroProfile APIs are declared in the application.<\/p>\n<p>Click DOWNLOAD to download the project to your computer, then import it with the Maven project into the IDE you are using!<\/p>\n<p>Its results are as follows:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-19222 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/an-introduction-about-microprofile-4.png\" alt=\"\" width=\"700\" height=\"525\" \/><\/p>\n<p>Check out this Maven project&#8217;s External Libraries:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-19223 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/an-introduction-about-microprofile-5.png\" alt=\"\" width=\"700\" height=\"391\" \/><\/p>\n<p>you will see in addition to the dependencies of MicroProfile, we also see dependencies of Jakarta EE. They are all APIs, there is no implementation, so to run the MicroProfile application, we must use server runtimes that support MicroProfile such as Open Liberty, Payara, WildFly,&#8230; !<\/p>\n<p>I chose to use Open Liberty with <a href=\"https:\/\/huongdanjava.com\/run-web-application-with-liberty-maven-plugin.html\" target=\"_blank\" rel=\"noopener\">the Liberty Maven plugin<\/a> to run the example for this tutorial as follows:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-19224 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/an-introduction-about-microprofile-6.png\" alt=\"\" width=\"700\" height=\"592\" \/><\/p>\n<p>The contents of the generated server.xml file are as follows:<\/p>\n<pre class=\"lang:xhtml decode:true \">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;server description=\"${project.name}\"&gt;\r\n  &lt;featureManager&gt;\r\n    &lt;feature&gt;microProfile-4.0&lt;\/feature&gt;\r\n  &lt;\/featureManager&gt;\r\n  \r\n  &lt;httpEndpoint id=\"defaultHttpEndpoint\"\r\n                httpPort=\"9080\"\r\n                httpsPort=\"9443\"\/&gt;\r\n\r\n  &lt;webApplication location=\"${project.name}.war\" contextRoot=\"${app.context.root}\"&gt;\r\n    &lt;classloader apiTypeVisibility=\"+third-party\"\/&gt;\r\n  &lt;\/webApplication&gt;\r\n  &lt;mpMetrics authentication=\"false\"\/&gt;\r\n\r\n  &lt;!-- This is the keystore that will be used by SSL and by JWT. --&gt;\r\n  &lt;keyStore id=\"defaultKeyStore\" location=\"public.jks\" type=\"JKS\" password=\"atbash\"\/&gt;\r\n  \r\n  &lt;!-- The MP JWT configuration that injects the caller's JWT into a ResourceScoped bean for inspection. --&gt;\r\n  &lt;mpJwt id=\"jwtUserConsumer\" keyName=\"theKeyId\" audiences=\"targetService\" issuer=\"${jwt.issuer}\"\/&gt;\r\n&lt;\/server&gt;\r\n<\/pre>\n<p>As you can see, feature microProfile-4.0 is declared for use in the &lt;featureManager&gt; tag. There are also several other configurations. Properties such as project.name, jwt.issuer, app.context.root are declared in the &lt;bootstrapProperties&gt; tag of the Liberty Maven plugin in the pom.xml file.<\/p>\n<p>Running the project with the Liberty Maven plugin, you can access the generated project&#8217;s default endpoint http:\/\/localhost:9080\/data\/hello, the results are as follows:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-19225 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/an-introduction-about-microprofile-7.png\" alt=\"\" width=\"700\" height=\"345\" \/><\/p>\n<p>In addition, with the microProfile-4.0 feature declared to support, we can also access some other endpoints such as:<\/p>\n<p>OpenAPI to see API documentation http:\/\/localhost:9080\/openapi\/ui\/:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-19226 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/an-introduction-about-microprofile-8.png\" alt=\"\" width=\"700\" height=\"450\" \/><\/p>\n<p>Health check service http:\/\/localhost:9080\/health\/:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-19227 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/an-introduction-about-microprofile-9.png\" alt=\"\" width=\"700\" height=\"357\" \/><\/p>\n<p>Metrics http:\/\/localhost:9080\/metrics\/:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-19228 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/an-introduction-about-microprofile-10.png\" alt=\"\" width=\"700\" height=\"658\" \/><\/p>\n<p>Depending on your needs, please use MicroProfile accordingly!<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-right kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;right&quot;,&quot;id&quot;:&quot;19217&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;4&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;0\\\/5 - (0 votes)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;An introduction about MicroProfile&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            <span class=\"kksr-muted\"><\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>MicroProfile is a set of APIs based on Jarkata EE that makes us easy to build Java Enterprise applications according to the microservices architecture model. These APIs include: With: Open Tracing is used to track the flow of a request to services. Open API is&hellip; <a href=\"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":19164,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2169],"tags":[],"class_list":["post-19217","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microprofile-en","clearfix"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>An introduction about MicroProfile - Huong Dan Java<\/title>\n<meta name=\"description\" content=\"In this tutorial, I introduce with you all about MicroProfile.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"An introduction about MicroProfile - Huong Dan Java\" \/>\n<meta property=\"og:description\" content=\"In this tutorial, I introduce with you all about MicroProfile.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html\" \/>\n<meta property=\"og:site_name\" content=\"Huong Dan Java\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/nhkhanh2406\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/nhkhanh2406\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-25T02:10:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/micro-profile.png\" \/>\n\t<meta property=\"og:image:width\" content=\"200\" \/>\n\t<meta property=\"og:image:height\" content=\"200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Khanh Nguyen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/KhanhNguyenJ\" \/>\n<meta name=\"twitter:site\" content=\"@KhanhNguyenJ\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Khanh Nguyen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/an-introduction-about-microprofile.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/an-introduction-about-microprofile.html\"},\"author\":{\"name\":\"Khanh Nguyen\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"headline\":\"An introduction about MicroProfile\",\"datePublished\":\"2021-12-25T02:10:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/an-introduction-about-microprofile.html\"},\"wordCount\":474,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"image\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/an-introduction-about-microprofile.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/micro-profile.png\",\"articleSection\":[\"MicroProfile\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/huongdanjava.com\\\/an-introduction-about-microprofile.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/an-introduction-about-microprofile.html\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/an-introduction-about-microprofile.html\",\"name\":\"An introduction about MicroProfile - Huong Dan Java\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/an-introduction-about-microprofile.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/an-introduction-about-microprofile.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/micro-profile.png\",\"datePublished\":\"2021-12-25T02:10:23+00:00\",\"description\":\"In this tutorial, I introduce with you all about MicroProfile.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/an-introduction-about-microprofile.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/huongdanjava.com\\\/an-introduction-about-microprofile.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/an-introduction-about-microprofile.html#primaryimage\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/micro-profile.png\",\"contentUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/micro-profile.png\",\"width\":200,\"height\":200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/an-introduction-about-microprofile.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/huongdanjava.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"An introduction about MicroProfile\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#website\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/\",\"name\":\"Huong Dan Java\",\"description\":\"Java development tutorials\",\"publisher\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/huongdanjava.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\",\"name\":\"Khanh Nguyen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"contentUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"width\":1267,\"height\":1517,\"caption\":\"Khanh Nguyen\"},\"logo\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\"},\"description\":\"I love Java and everything related to Java.\",\"sameAs\":[\"https:\\\/\\\/huongdanjava.com\",\"https:\\\/\\\/www.facebook.com\\\/nhkhanh2406\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/KhanhNguyenJ\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"An introduction about MicroProfile - Huong Dan Java","description":"In this tutorial, I introduce with you all about MicroProfile.","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:\/\/huongdanjava.com\/an-introduction-about-microprofile.html","og_locale":"en_US","og_type":"article","og_title":"An introduction about MicroProfile - Huong Dan Java","og_description":"In this tutorial, I introduce with you all about MicroProfile.","og_url":"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html","og_site_name":"Huong Dan Java","article_publisher":"https:\/\/www.facebook.com\/nhkhanh2406","article_author":"https:\/\/www.facebook.com\/nhkhanh2406","article_published_time":"2021-12-25T02:10:23+00:00","og_image":[{"width":200,"height":200,"url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/micro-profile.png","type":"image\/png"}],"author":"Khanh Nguyen","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/KhanhNguyenJ","twitter_site":"@KhanhNguyenJ","twitter_misc":{"Written by":"Khanh Nguyen","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html#article","isPartOf":{"@id":"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html"},"author":{"name":"Khanh Nguyen","@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"headline":"An introduction about MicroProfile","datePublished":"2021-12-25T02:10:23+00:00","mainEntityOfPage":{"@id":"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html"},"wordCount":474,"commentCount":0,"publisher":{"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"image":{"@id":"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html#primaryimage"},"thumbnailUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/micro-profile.png","articleSection":["MicroProfile"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html","url":"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html","name":"An introduction about MicroProfile - Huong Dan Java","isPartOf":{"@id":"https:\/\/huongdanjava.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html#primaryimage"},"image":{"@id":"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html#primaryimage"},"thumbnailUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/micro-profile.png","datePublished":"2021-12-25T02:10:23+00:00","description":"In this tutorial, I introduce with you all about MicroProfile.","breadcrumb":{"@id":"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html#primaryimage","url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/micro-profile.png","contentUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/12\/micro-profile.png","width":200,"height":200},{"@type":"BreadcrumbList","@id":"https:\/\/huongdanjava.com\/an-introduction-about-microprofile.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/huongdanjava.com\/"},{"@type":"ListItem","position":2,"name":"An introduction about MicroProfile"}]},{"@type":"WebSite","@id":"https:\/\/huongdanjava.com\/#website","url":"https:\/\/huongdanjava.com\/","name":"Huong Dan Java","description":"Java development tutorials","publisher":{"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/huongdanjava.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d","name":"Khanh Nguyen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","contentUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","width":1267,"height":1517,"caption":"Khanh Nguyen"},"logo":{"@id":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg"},"description":"I love Java and everything related to Java.","sameAs":["https:\/\/huongdanjava.com","https:\/\/www.facebook.com\/nhkhanh2406","https:\/\/x.com\/https:\/\/twitter.com\/KhanhNguyenJ"]}]}},"_links":{"self":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/19217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/comments?post=19217"}],"version-history":[{"count":3,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/19217\/revisions"}],"predecessor-version":[{"id":19230,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/19217\/revisions\/19230"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/media\/19164"}],"wp:attachment":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/media?parent=19217"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/categories?post=19217"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/tags?post=19217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}