{"id":377,"date":"2022-04-21T10:38:38","date_gmt":"2022-04-21T02:38:38","guid":{"rendered":"https:\/\/blog.lijiajia.top\/?p=377"},"modified":"2026-06-19T21:34:31","modified_gmt":"2026-06-19T13:34:31","slug":"springcloud%e7%ac%ac%e4%ba%8c%e5%ad%a3%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%9acloud%e7%bb%84%e4%bb%b6%e5%81%9c%e6%9b%b4%e5%8d%87%e7%ba%a7%e8%af%b4%e6%98%8e%e5%9b%9b","status":"publish","type":"post","link":"https:\/\/blog.ttwow.top\/?p=377","title":{"rendered":"SpringCloud\u7b2c\u4e8c\u5b63\u5b66\u4e60\u7b14\u8bb0\uff1a\u5fae\u670d\u52a1\u67b6\u6784\u7f16\u7801\u6784\u5efa(\u56db)"},"content":{"rendered":"<h2>\u7ea6\u5b9a &gt; \u914d\u7f6e &gt; \u7f16\u7801<\/h2>\n<h2>IDEA\u65b0\u5efaproject\u5de5\u4f5c\u7a7a\u95f4<\/h2>\n<p>1  \u65b0\u5efaEmpty Project\uff0c\u7c7b\u4f3c\u5de5\u4f5c\u7a7a\u95f4<\/p>\n<p>2  \u65b0project\u8bbe\u7f6e<br \/>\n2.1    project\u90fd\u9009\u62e98<br \/>\n2.2    module\u70b9\u51fb+\u53f7\uff0c\u65b0\u5efa\u4e00\u4e2amaven\u6a21\u5757<\/p>\n<p>3  \u65b0Module\u7684\u8bbe\u7f6e<br \/>\n3.1    \u7531\u4e8e\u7b2c\u4e00\u4e2a\u662fpom\u7edf\u4e00\u5de5\u7a0b\uff0c\u4e0d\u9009\u62e9\u6a21\u677fcreate from archetype<\/p>\n<p>\u200b   3.2     group:com.springcloud<\/p>\n<p>\u200b               \u9879\u76ee\u540d:cloud2022<\/p>\n<p>\u200b               version:1.0-SNAPSHOT<\/p>\n<p>3.3    Language Level \u9009\u62e9 8<\/p>\n<h3>4  \u65b0project\u8bbe\u7f6e<\/h3>\n<p>\u200b    4.1    Editor | File Encodings \u8bbe\u7f6e\u4e3aUTF8<br \/>\n\u200b    4.2    Build, Execution, Deployment | Compiler | Annotation Processors \u6bcf\u4e2amodule\u90fd\u6253\u52fe<br \/>\n\u200b    4.3    File | Settings | Build, Execution, Deployment | Compiler | Java Compiler  \u8bbe\u7f6e\u4e3a1.8<\/p>\n<p>5  cloud2022\u8be5\u6a21\u5757\u4e0b\u9f20\u6807\u53f3\u952e\u65b0\u5efa\u5176\u4e0b\u7684\u5b50module<br \/>\n5.1    \u65b0\u5efa\u5b50module    microservicecloud-api   \u53ef\u4ee5\u4e0d\u52fe\u9009create from archetype<br \/>\n5.2    IDEA\u5de5\u5177\u53f3\u8fb9\u7684maven projects\u89c6\u56fe\u5237\u65b0\uff0c\u51fa\u73b0\u65b0\u7684\u5b50\u6a21\u5757<br \/>\n5.3    \u53f3\u4e0a\u89d2\u8bbe\u7f6e\uff0c\u9009\u62e9Group Modules<br \/>\n5.4    \u89c6\u56fe\u4e0a\u9009\u62e9+\u53f7\uff0c\u9009\u4e2dapi\u91cc\u9762\u7684pom.xml<\/p>\n<p>6  IDEA\u5de5\u5177\u9690\u85cf<em>.iml\u7b49<br \/>\n\u70b9\u51fbFile--&gt;setting(\u6216\u8005Ctrl+Alt+S)--&gt;Editor--&gt; Flie Types \u5728ignore files and folders\uff0c\u7136\u540e\u5728\u8f93\u5165\u6846\u6700\u540e\u9762\u8ddf\u4e0a<\/em>.idea;*.iml;<\/p>\n<h3>\u7236\u5de5\u7a0bPOM<\/h3>\n<pre><code class=\"language-xml\">\n&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;\n\n&lt;project xmlns=&quot;http:\/\/maven.apache.org\/POM\/4.0.0&quot; xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot;\n         xsi:schemaLocation=&quot;http:\/\/maven.apache.org\/POM\/4.0.0 http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd&quot;&gt;\n    &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n\n    &lt;groupId&gt;com.atguigu.springcloud&lt;\/groupId&gt;\n    &lt;artifactId&gt;mscloud03&lt;\/artifactId&gt;\n    &lt;version&gt;1.0-SNAPSHOT&lt;\/version&gt;\n    &lt;packaging&gt;pom&lt;\/packaging&gt;\n\n    &lt;!-- \u7edf\u4e00\u7ba1\u7406jar\u5305\u7248\u672c --&gt;\n    &lt;properties&gt;\n        &lt;project.build.sourceEncoding&gt;UTF-8&lt;\/project.build.sourceEncoding&gt;\n        &lt;maven.compiler.source&gt;1.8&lt;\/maven.compiler.source&gt;\n        &lt;maven.compiler.target&gt;1.8&lt;\/maven.compiler.target&gt;\n        &lt;junit.version&gt;4.12&lt;\/junit.version&gt;\n        &lt;log4j.version&gt;1.2.17&lt;\/log4j.version&gt;\n        &lt;lombok.version&gt;1.16.18&lt;\/lombok.version&gt;\n        &lt;mysql.version&gt;5.1.47&lt;\/mysql.version&gt;\n        &lt;druid.version&gt;1.1.16&lt;\/druid.version&gt;\n        &lt;mybatis.spring.boot.version&gt;1.3.0&lt;\/mybatis.spring.boot.version&gt;\n    &lt;\/properties&gt;\n\n    &lt;!-- \u5b50\u6a21\u5757\u7ee7\u627f\u4e4b\u540e\uff0c\u63d0\u4f9b\u4f5c\u7528\uff1a\u9501\u5b9a\u7248\u672c+\u5b50modlue\u4e0d\u7528\u5199groupId\u548cversion  --&gt;\n    &lt;dependencyManagement&gt;\n        &lt;dependencies&gt;\n            &lt;!--spring boot 2.2.2--&gt;\n            &lt;dependency&gt;\n                &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n                &lt;artifactId&gt;spring-boot-dependencies&lt;\/artifactId&gt;\n                &lt;version&gt;2.2.2.RELEASE&lt;\/version&gt;\n                &lt;type&gt;pom&lt;\/type&gt;\n                &lt;scope&gt;import&lt;\/scope&gt;\n            &lt;\/dependency&gt;\n            &lt;!--spring cloud Hoxton.SR1--&gt;\n            &lt;dependency&gt;\n                &lt;groupId&gt;org.springframework.cloud&lt;\/groupId&gt;\n                &lt;artifactId&gt;spring-cloud-dependencies&lt;\/artifactId&gt;\n                &lt;version&gt;Hoxton.SR1&lt;\/version&gt;\n                &lt;type&gt;pom&lt;\/type&gt;\n                &lt;scope&gt;import&lt;\/scope&gt;\n            &lt;\/dependency&gt;\n            &lt;!--spring cloud alibaba 2.1.0.RELEASE--&gt;\n            &lt;dependency&gt;\n                &lt;groupId&gt;com.alibaba.cloud&lt;\/groupId&gt;\n                &lt;artifactId&gt;spring-cloud-alibaba-dependencies&lt;\/artifactId&gt;\n                &lt;version&gt;2.1.0.RELEASE&lt;\/version&gt;\n                &lt;type&gt;pom&lt;\/type&gt;\n                &lt;scope&gt;import&lt;\/scope&gt;\n            &lt;\/dependency&gt;\n            &lt;dependency&gt;\n                &lt;groupId&gt;mysql&lt;\/groupId&gt;\n                &lt;artifactId&gt;mysql-connector-java&lt;\/artifactId&gt;\n                &lt;version&gt;${mysql.version}&lt;\/version&gt;\n            &lt;\/dependency&gt;\n            &lt;dependency&gt;\n                &lt;groupId&gt;com.alibaba&lt;\/groupId&gt;\n                &lt;artifactId&gt;druid&lt;\/artifactId&gt;\n                &lt;version&gt;${druid.version}&lt;\/version&gt;\n            &lt;\/dependency&gt;\n            &lt;dependency&gt;\n                &lt;groupId&gt;org.mybatis.spring.boot&lt;\/groupId&gt;\n                &lt;artifactId&gt;mybatis-spring-boot-starter&lt;\/artifactId&gt;\n                &lt;version&gt;${mybatis.spring.boot.version}&lt;\/version&gt;\n            &lt;\/dependency&gt;\n            &lt;dependency&gt;\n                &lt;groupId&gt;junit&lt;\/groupId&gt;\n                &lt;artifactId&gt;junit&lt;\/artifactId&gt;\n                &lt;version&gt;${junit.version}&lt;\/version&gt;\n            &lt;\/dependency&gt;\n            &lt;dependency&gt;\n                &lt;groupId&gt;log4j&lt;\/groupId&gt;\n                &lt;artifactId&gt;log4j&lt;\/artifactId&gt;\n                &lt;version&gt;${log4j.version}&lt;\/version&gt;\n            &lt;\/dependency&gt;\n            &lt;dependency&gt;\n                &lt;groupId&gt;org.projectlombok&lt;\/groupId&gt;\n                &lt;artifactId&gt;lombok&lt;\/artifactId&gt;\n                &lt;version&gt;${lombok.version}&lt;\/version&gt;\n                &lt;optional&gt;true&lt;\/optional&gt;\n            &lt;\/dependency&gt;\n        &lt;\/dependencies&gt;\n    &lt;\/dependencyManagement&gt;\n\n    &lt;build&gt;\n        &lt;plugins&gt;\n            &lt;plugin&gt;\n                &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n                &lt;artifactId&gt;spring-boot-maven-plugin&lt;\/artifactId&gt;\n                &lt;configuration&gt;\n                    &lt;fork&gt;true&lt;\/fork&gt;\n                    &lt;addResources&gt;true&lt;\/addResources&gt;\n                &lt;\/configuration&gt;\n            &lt;\/plugin&gt;\n        &lt;\/plugins&gt;\n    &lt;\/build&gt;\n\n&lt;\/project&gt;<\/code><\/pre>\n<h3>Maven\u5de5\u7a0b\u843d\u5730\u7ec6\u8282\u590d\u4e60<\/h3>\n<p>Maven\u4e2d\u7684DependencyManagement\u548cDependencies<\/p>\n<h4>dependencyManagement<\/h4>\n<p>Maven \u4f7f\u7528dependencyManagement \u5143\u7d20\u6765\u63d0\u4f9b\u4e86\u4e00\u79cd\u7ba1\u7406\u4f9d\u8d56\u7248\u672c\u53f7\u7684\u65b9\u5f0f\u3002<br \/>\n\u901a\u5e38\u4f1a\u5728\u4e00\u4e2a\u7ec4\u7ec7\u6216\u8005\u9879\u76ee\u7684\u6700\u9876\u5c42\u7684\u7236POM \u4e2d\u770b\u5230dependencyManagement \u5143\u7d20\u3002<\/p>\n<p>\u4f7f\u7528pom.xml \u4e2d\u7684dependencyManagement \u5143\u7d20\u80fd\u8ba9\u6240\u6709\u5728\u5b50\u9879\u76ee\u4e2d\u5f15\u7528\u4e00\u4e2a\u4f9d\u8d56\u800c\u4e0d\u7528\u663e\u5f0f\u7684\u5217\u51fa\u7248\u672c\u53f7\u3002<br \/>\nMaven \u4f1a\u6cbf\u7740\u7236\u5b50\u5c42\u6b21\u5411\u4e0a\u8d70\uff0c\u76f4\u5230\u627e\u5230\u4e00\u4e2a\u62e5\u6709dependencyManagement \u5143\u7d20\u7684\u9879\u76ee\uff0c\u7136\u540e\u5b83\u5c31\u4f1a\u4f7f\u7528\u8fd9\u4e2a<br \/>\ndependencyManagement \u5143\u7d20\u4e2d\u6307\u5b9a\u7684\u7248\u672c\u53f7\u3002<\/p>\n<p>\u8fd9\u6837\u505a\u7684\u597d\u5904\u5c31\u662f\uff1a\u5982\u679c\u6709\u591a\u4e2a\u5b50\u9879\u76ee\u90fd\u5f15\u7528\u540c\u4e00\u6837\u4f9d\u8d56\uff0c\u5219\u53ef\u4ee5\u907f\u514d\u5728\u6bcf\u4e2a\u4f7f\u7528\u7684\u5b50\u9879\u76ee\u91cc\u90fd\u58f0\u660e\u4e00\u4e2a\u7248\u672c\u53f7\uff0c\u8fd9\u6837\u5f53\u60f3\u5347\u7ea7\u6216\u5207\u6362\u5230\u53e6\u4e00\u4e2a\u7248\u672c\u65f6\uff0c\u53ea\u9700\u8981\u5728\u9876\u5c42\u7236\u5bb9\u5668\u91cc\u66f4\u65b0\uff0c\u800c\u4e0d\u9700\u8981\u4e00\u4e2a\u4e00\u4e2a\u5b50\u9879\u76ee\u7684\u4fee\u6539 \uff1b\u53e6\u5916\u5982\u679c\u67d0\u4e2a\u5b50\u9879\u76ee\u9700\u8981\u53e6\u5916\u7684\u4e00\u4e2a\u7248\u672c\uff0c\u53ea\u9700\u8981\u58f0\u660eversion\u5c31\u53ef\u3002<\/p>\n<ul>\n<li>\n<p>dependencyManagement\u91cc\u53ea\u662f\u58f0\u660e\u4f9d\u8d56\uff0c\u5e76\u4e0d\u5b9e\u73b0\u5f15\u5165\uff0c\u56e0\u6b64\u5b50\u9879\u76ee\u9700\u8981\u663e\u793a\u7684\u58f0\u660e\u9700\u8981\u7528\u7684\u4f9d\u8d56\u3002<\/p>\n<\/li>\n<li>\n<p>\u5982\u679c\u4e0d\u5728\u5b50\u9879\u76ee\u4e2d\u58f0\u660e\u4f9d\u8d56\uff0c\u662f\u4e0d\u4f1a\u4ece\u7236\u9879\u76ee\u4e2d\u7ee7\u627f\u4e0b\u6765\u7684\uff1b\u53ea\u6709\u5728\u5b50\u9879\u76ee\u4e2d\u5199\u4e86\u8be5\u4f9d\u8d56\u9879\uff0c\u5e76\u4e14\u6ca1\u6709\u6307\u5b9a\u5177\u4f53\u7248\u672c\uff0c<br \/>\n\u624d\u4f1a\u4ece\u7236\u9879\u76ee\u4e2d\u7ee7\u627f\u8be5\u9879\uff0c\u5e76\u4e14version\u548cscope\u90fd\u8bfb\u53d6\u81ea\u7236pom;<\/p>\n<\/li>\n<li>\n<p>\u5982\u679c\u5b50\u9879\u76ee\u4e2d\u6307\u5b9a\u4e86\u7248\u672c\u53f7\uff0c\u90a3\u4e48\u4f1a\u4f7f\u7528\u5b50\u9879\u76ee\u4e2d\u6307\u5b9a\u7684jar\u7248\u672c\u3002<\/p>\n<\/li>\n<\/ul>\n<h3>maven\u4e2d\u8df3\u8fc7\u5355\u5143\u6d4b\u8bd5<\/h3>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/bucket-blog-img.oss-cn-shanghai.aliyuncs.com\/wp-content\/uploads\/2022\/04\/image-1650763045530.png'><img class=\"lazyload lazyload-style-11\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/bucket-blog-img.oss-cn-shanghai.aliyuncs.com\/wp-content\/uploads\/2022\/04\/image-1650763045530.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" \/><\/div><\/p>\n<p>\u7236\u5de5\u7a0b\u521b\u5efa\u5b8c\u6210\u6267\u884cmvn:install\u5c06\u7236\u5de5\u7a0b\u53d1\u5e03\u5230\u4ed3\u5e93\u65b9\u4fbf\u5b50\u5de5\u7a0b\u7ee7\u627f<\/p>\n<h2>MySQL\u9a71\u52a8\u8bf4\u660e<\/h2>\n<p>com.mysql.jdbc.Driver\u548cmysql-connector-java 5\u4e00\u8d77\u7528\u3002<br \/>\ncom.mysql.cj.jdbc.Driver\u548cmysql-connector-java 6 \u4e00\u8d77\u7528\u3002<\/p>\n<p>com.mysql.cj.jdbc.Driver\u662fmysql-connector-java 6 \u4e2d\u7684\u7279\u6027\uff0c\u76f8\u6bd4mysql-connector-java 5 \u591a\u4e86\u4e00\u4e2a\u65f6\u533a\uff1aserverTimezone\uff0c\u628a\u6570\u636e\u6e90\u914d\u7f6e\u7684\u9a71\u52a8\u6539\u4e00\u4e0b\u5c31\u597d\u4e86<\/p>\n<p>org.gjt.mm.mysql.Driver\u662f\u5f53\u65f6\u6700\u597d\u7684MySQL JDBC\uff0c\u4f46\u4e0d\u662fMySQL\u516c\u53f8\u7684\uff0c\u7136\u540eMySQL\u5c06MM\u7684JDBC\u9a71\u52a8 \u6536\u4e3a\u5b98\u65b9\u7684JDBC\u9a71\u52a8\uff0c\u6240\u4ee5\u5c06\u9a71\u52a8\u7684package\u4e5f\u6539\u4e86\uff0c\u4f46\u8fd8\u4fdd\u7559\u4e86org.gjt.mm.mysql.Driver\u8fd9\u4e2a\u8def\u5f84\u7684\u5f15\u7528\uff0c\u4e5f\u5c31\u662f\u4f60\u4f7f\u7528\u65b0\u7248\u7684JDBC\u9a71\u52a8\u65f6\u8fd8\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e2a\u6765\u5f15\u7528\uff0c\u6253\u5f00\u4e0b\u8f7d\u7684\u65b0\u7248JDBC\u9a71\u52a8\u7684jar\u6587\u4ef6\u53ef\u4ee5\u770b\u5230\uff0c\u53ea\u6709\u4e00\u4e2a\u6587\u4ef6\u7684\u76ee\u5f55\u662forg.gjt.mm.mysql\uff0c\u5c31\u662f\u4e3a\u4e86\u517c\u5bb9\u800c\u8bbe\u8ba1\u7684\u3002<\/p>\n<h1>Rest\u5fae\u670d\u52a1\u5de5\u7a0b\u6784\u5efa<\/h1>\n<h2>\u5fae\u670d\u52a1\u63d0\u4f9b\u8005\u652f\u4ed8Module\u6a21\u5757<\/h2>\n<p>cloud-provider-payment8001:\u670d\u52a1\u63d0\u4f9b\u8005proivder<\/p>\n<p>\u5efacloud-provider-payment8001<\/p>\n<p>\u7236\u5de5\u7a0bpom\u4f1a\u591a\u4e00\u4e2a\u6a21\u5757<\/p>\n<pre><code class=\"language-xml\">&lt;modules&gt;\n    &lt;module&gt;cloud-provider-payment8001&lt;\/module&gt;\n&lt;\/modules&gt;<\/code><\/pre>\n<p>\u6539POM<\/p>\n<pre><code class=\"language-xml\">&lt;parent&gt;\n    &lt;artifactId&gt;cloud2022&lt;\/artifactId&gt;\n    &lt;groupId&gt;com.springcloud&lt;\/groupId&gt;\n    &lt;version&gt;1.0-SNAPSHOT&lt;\/version&gt;\n&lt;\/parent&gt;\n&lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n\n&lt;artifactId&gt;cloud-provider-payment8001&lt;\/artifactId&gt;\n\n&lt;dependencies&gt;\n    &lt;dependency&gt;\n        &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n        &lt;artifactId&gt;spring-boot-starter-web&lt;\/artifactId&gt;\n    &lt;\/dependency&gt;\n    &lt;dependency&gt;\n        &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n        &lt;artifactId&gt;spring-boot-starter-actuator&lt;\/artifactId&gt;\n    &lt;\/dependency&gt;\n    &lt;dependency&gt;\n        &lt;groupId&gt;org.mybatis.spring.boot&lt;\/groupId&gt;\n        &lt;artifactId&gt;mybatis-spring-boot-starter&lt;\/artifactId&gt;\n    &lt;\/dependency&gt;\n    &lt;dependency&gt;\n        &lt;groupId&gt;com.alibaba&lt;\/groupId&gt;\n        &lt;artifactId&gt;druid-spring-boot-starter&lt;\/artifactId&gt;\n        &lt;version&gt;1.1.10&lt;\/version&gt;\n    &lt;\/dependency&gt;\n    &lt;!--mysql-connector-java--&gt;\n    &lt;dependency&gt;\n        &lt;groupId&gt;mysql&lt;\/groupId&gt;\n        &lt;artifactId&gt;mysql-connector-java&lt;\/artifactId&gt;\n    &lt;\/dependency&gt;\n    &lt;!--jdbc--&gt;\n    &lt;dependency&gt;\n        &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n        &lt;artifactId&gt;spring-boot-starter-jdbc&lt;\/artifactId&gt;\n    &lt;\/dependency&gt;\n    &lt;dependency&gt;\n        &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n        &lt;artifactId&gt;spring-boot-devtools&lt;\/artifactId&gt;\n        &lt;scope&gt;runtime&lt;\/scope&gt;\n        &lt;optional&gt;true&lt;\/optional&gt;\n    &lt;\/dependency&gt;\n    &lt;dependency&gt;\n        &lt;groupId&gt;org.projectlombok&lt;\/groupId&gt;\n        &lt;artifactId&gt;lombok&lt;\/artifactId&gt;\n        &lt;optional&gt;true&lt;\/optional&gt;\n    &lt;\/dependency&gt;\n    &lt;dependency&gt;\n        &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n        &lt;artifactId&gt;spring-boot-starter-test&lt;\/artifactId&gt;\n        &lt;scope&gt;test&lt;\/scope&gt;\n    &lt;\/dependency&gt;\n&lt;\/dependencies&gt;<\/code><\/pre>\n<p>\u5199YML:application.yml<\/p>\n<pre><code class=\"language-yaml\">server:\n  port: 8001\n\nspring:\n  application:\n    name: cloud-payment-service\n  datasource:\n    type: com.alibaba.druid.pool.DruidDataSource            # \u5f53\u524d\u6570\u636e\u6e90\u64cd\u4f5c\u7c7b\u578b\n    driver-class-name: org.gjt.mm.mysql.Driver              # mysql\u9a71\u52a8\u5305 com.mysql.jdbc.Driver\n    url: jdbc:mysql:\/\/localhost:3307\/db2022?useUnicode=true&amp;characterEncoding=utf-8&amp;useSSL=false\n    username: root\n    password: root\n\nmybatis:\n  mapperLocations: classpath:mapper\/*.xml\n  type-aliases-package: com.springcloud.entity    # \u6240\u6709Entity\u522b\u540d\u7c7b\u6240\u5728\u5305<\/code><\/pre>\n<p>\u4e3b\u542f\u52a8\u7c7b\uff1a<\/p>\n<pre><code class=\"language-java\">@SpringBootApplication\npublic class PaymentMain8001 {\n\n    public static void main(String[] args){\n        SpringApplication.run(PaymentMain8001.class,args);\n    }\n\n}<\/code><\/pre>\n<h2>\u4e1a\u52a1\u7c7b<\/h2>\n<p>\u5efa\u8868SQL<\/p>\n<pre><code class=\"language-sql\"> CREATE TABLE `payment` (\n     `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT &#039;ID&#039;,\n     `serial` varchar(200) DEFAULT &#039;&#039;,\n     PRIMARY KEY (`id`)\n ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8<\/code><\/pre>\n<p>\u5b9e\u4f53\u7c7b<\/p>\n<pre><code class=\"language-java\">@Data\n@AllArgsConstructor\n@NoArgsConstructor\npublic class Payment implements Serializable {\n\n    private Long id;\n    @JsonProperty(value = &quot;serial&quot;)\n    private String serial;\n\n}<\/code><\/pre>\n<p>\u901a\u7528\u8fd4\u56de\u7ed3\u679c\u7c7b\uff1a<\/p>\n<pre><code class=\"language-java\">@Data\n@AllArgsConstructor\n@NoArgsConstructor\npublic class CommonResult&lt;T&gt;\n{\n    private Integer code;\n    private String  message;\n    private T data;\n\n    public CommonResult(Integer code, String message)\n    {\n        this(code,message,null);\n    }\n}<\/code><\/pre>\n<p>dao<\/p>\n<pre><code class=\"language-java\">@Mapper  \/\/import org.apache.ibatis.annotations.Mapper;\npublic interface PaymentDao\n{\n    public int create(Payment payment);\n\n    public Payment getPaymentById(@Param(&quot;id&quot;) Long id);\n}<\/code><\/pre>\n<p>\u5bf9\u5e94mapper\u6587\u4ef6\uff0c\u5728src\\main\\resources\\mapper\\PaymentMapper.xml\u8def\u5f84\u4e0b<\/p>\n<pre><code class=\"language-xml\">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;\n&lt;!DOCTYPE mapper PUBLIC &quot;-\/\/mybatis.org\/\/DTD Mapper 3.0\/\/EN&quot; &quot;http:\/\/mybatis.org\/dtd\/mybatis-3-mapper.dtd&quot; &gt;\n\n&lt;mapper namespace=&quot;com.springcloud.dao.PaymentDao&quot;&gt;\n\n    &lt;resultMap id=&quot;BaseResultMap&quot; type=&quot;com.springcloud.entity.Payment&quot;&gt;\n        &lt;id column=&quot;id&quot; property=&quot;id&quot; jdbcType=&quot;BIGINT&quot;\/&gt;\n        &lt;result column=&quot;serial&quot; property=&quot;serial&quot; jdbcType=&quot;VARCHAR&quot;\/&gt;\n    &lt;\/resultMap&gt;\n\n    &lt;insert id=&quot;create&quot; parameterType=&quot;Payment&quot; useGeneratedKeys=&quot;true&quot; keyProperty=&quot;id&quot;&gt;\n        INSERT INTO payment(SERIAL) VALUES(#{serial});\n    &lt;\/insert&gt;\n\n    &lt;select id=&quot;getPaymentById&quot; parameterType=&quot;Long&quot; resultMap=&quot;BaseResultMap&quot; &gt;\n        SELECT * FROM payment WHERE id=#{id};\n    &lt;\/select&gt;\n\n&lt;\/mapper&gt;<\/code><\/pre>\n<p>service\u63a5\u53e3\u548c\u5b9e\u73b0\u7c7b<\/p>\n<pre><code class=\"language-java\">public interface PaymentService\n{\n    public int create(Payment payment);\n\n    public Payment getPaymentById(@Param(&quot;id&quot;) Long id);\n\n}<\/code><\/pre>\n<pre><code class=\"language-java\">@Service\npublic class PaymentServiceImpl implements PaymentService\n{\n    @Resource\n    private PaymentDao paymentDao;\n\n    @Override\n    public int create(Payment payment)\n    {\n        return paymentDao.create(payment);\n    }\n\n    @Override\n    public Payment getPaymentById(Long id)\n    {\n        return paymentDao.getPaymentById(id);\n    }\n}<\/code><\/pre>\n<p>Controller<\/p>\n<pre><code class=\"language-java\">@RestController\n@Slf4j\npublic class PaymentController\n{\n    @Resource\n    private PaymentService paymentService;\n\n    @PostMapping(value = &quot;\/payment\/create&quot;)\n    public CommonResult create(Payment payment)\n    {\n        int result = paymentService.create(payment);\n        log.info(&quot;*****\u63d2\u5165\u64cd\u4f5c\u8fd4\u56de\u7ed3\u679c:&quot; + result);\n\n        if(result &gt; 0)\n        {\n            return new CommonResult(200,&quot;\u63d2\u5165\u6570\u636e\u5e93\u6210\u529f&quot;,result);\n        }else{\n            return new CommonResult(444,&quot;\u63d2\u5165\u6570\u636e\u5e93\u5931\u8d25&quot;,null);\n        }\n    }\n\n    @GetMapping(value = &quot;\/payment\/get\/{id}&quot;)\n    public CommonResult&lt;Payment&gt; getPaymentById(@PathVariable(&quot;id&quot;) Long id)\n    {\n        Payment payment = paymentService.getPaymentById(id);\n        log.info(&quot;*****\u67e5\u8be2\u7ed3\u679c:{}&quot;,payment);\n        if (payment != null) {\n            return new CommonResult(200,&quot;\u67e5\u8be2\u6210\u529f&quot;,payment);\n        }else{\n            return new CommonResult(444,&quot;\u6ca1\u6709\u5bf9\u5e94\u8bb0\u5f55,\u67e5\u8be2ID: &quot;+id,null);\n        }\n    }\n}<\/code><\/pre>\n<p><strong> @PostMapping\u65b0\u589e\u6570\u636e\u65f6\uff0c\u5982\u679c\u6709@RequestBody\u6ce8\u89e3\uff0c\u4f1a\u627e\u4e0d\u5230\u7c7b\u578b\uff0c\u52a0\u4e0a@JsonProperties\u4e5f\u4e0d\u884c<\/strong><\/p>\n<h2>\u5c0f\u603b\u7ed3<\/h2>\n<p>\u5efamodule<\/p>\n<p>\u6539POM<\/p>\n<p>\u5199YML<\/p>\n<p>\u4e3b\u542f\u52a8<\/p>\n<p>\u4e1a\u52a1\u7c7b<\/p>\n<h2><strong>\u70ed\u90e8\u7f72Devtools<\/strong><\/h2>\n<p>\u6dfb\u52a0jar<\/p>\n<pre><code class=\"language-xml\">&lt;dependency&gt;\n    &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n    &lt;artifactId&gt;spring-boot-devtools&lt;\/artifactId&gt;\n    &lt;scope&gt;runtime&lt;\/scope&gt;\n    &lt;optional&gt;true&lt;\/optional&gt;\n&lt;\/dependency&gt;\n<\/code><\/pre>\n<p>\u4e0b\u6bb5\u914d\u7f6e\u6211\u4eec\u7c98\u8d34\u8fdb\u805a\u5408\u7236\u7c7b\u603b\u5de5\u7a0b\u7684pom.xml\u91cc<\/p>\n<pre><code class=\"language-xml\">&lt;build&gt;\n    &lt;finalName&gt;\u4f60\u81ea\u5df1\u7684\u5de5\u7a0b\u540d\u5b57&lt;\/finalName&gt;\n    &lt;plugins&gt;\n        &lt;plugin&gt;\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-boot-maven-plugin&lt;\/artifactId&gt;\n            &lt;configuration&gt;\n                &lt;fork&gt;true&lt;\/fork&gt;\n                &lt;addResources&gt;true&lt;\/addResources&gt;\n            &lt;\/configuration&gt;\n        &lt;\/plugin&gt;\n    &lt;\/plugins&gt;\n&lt;\/build&gt;<\/code><\/pre>\n<p>idea\u4fee\u6539<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/bucket-blog-img.oss-cn-shanghai.aliyuncs.com\/wp-content\/uploads\/2022\/04\/image-1650779589701.png'><img class=\"lazyload lazyload-style-11\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/bucket-blog-img.oss-cn-shanghai.aliyuncs.com\/wp-content\/uploads\/2022\/04\/image-1650779589701.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"file\" \/><\/div><\/p>\n<h2>\u5fae\u670d\u52a1\u6d88\u8d39\u8005\u8ba2\u5355Module\u6a21\u5757<\/h2>\n<p>cloud-consumer-order80-\u670d\u52a1\u6d88\u8d39\u8005consumer<\/p>\n<p>POM<\/p>\n<pre><code class=\"language-xml\">    &lt;parent&gt;\n        &lt;artifactId&gt;cloud2022&lt;\/artifactId&gt;\n        &lt;groupId&gt;com.springcloud&lt;\/groupId&gt;\n        &lt;version&gt;1.0-SNAPSHOT&lt;\/version&gt;\n    &lt;\/parent&gt;\n    &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n\n    &lt;artifactId&gt;cloud-consumer-order80&lt;\/artifactId&gt;\n\n    &lt;dependencies&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-boot-starter-web&lt;\/artifactId&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-boot-starter-actuator&lt;\/artifactId&gt;\n        &lt;\/dependency&gt;\n\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-boot-devtools&lt;\/artifactId&gt;\n            &lt;scope&gt;runtime&lt;\/scope&gt;\n            &lt;optional&gt;true&lt;\/optional&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.projectlombok&lt;\/groupId&gt;\n            &lt;artifactId&gt;lombok&lt;\/artifactId&gt;\n            &lt;optional&gt;true&lt;\/optional&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-boot-starter-test&lt;\/artifactId&gt;\n            &lt;scope&gt;test&lt;\/scope&gt;\n        &lt;\/dependency&gt;\n    &lt;\/dependencies&gt;<\/code><\/pre>\n<p>YML<\/p>\n<pre><code class=\"language-yaml\">server:\n  port: 80<\/code><\/pre>\n<p>\u4e3b\u542f\u52a8\u7c7b<\/p>\n<pre><code class=\"language-java\">@SpringBootApplication\npublic class MainApp80 {\n\n    public static void main(String[] args){\n        SpringApplication.run(MainApp80.class,args);\n    }\n}<\/code><\/pre>\n<p>\u5b9e\u4f53\u7c7b\u548c8001\u670d\u52a1\u63d0\u4f9b\u8005\u4e00\u81f4<\/p>\n<h2>\u9996\u8bf4RestTemplate<\/h2>\n<p>RestTemplate\u63d0\u4f9b\u4e86\u591a\u79cd\u4fbf\u6377\u8bbf\u95ee\u8fdc\u7a0bHttp\u670d\u52a1\u7684\u65b9\u6cd5\uff0c<br \/>\n\u662f\u4e00\u79cd\u7b80\u5355\u4fbf\u6377\u7684\u8bbf\u95eerestful\u670d\u52a1\u6a21\u677f\u7c7b\uff0c\u662fSpring\u63d0\u4f9b\u7684\u7528\u4e8e\u8bbf\u95eeRest\u670d\u52a1\u7684\u5ba2\u6237\u7aef\u6a21\u677f\u5de5\u5177\u96c6<\/p>\n<p>\u5b98\u7f51\u5730\u5740<\/p>\n<p><a href=\"https:\/\/docs.spring.io\/spring-framework\/docs\/5.2.2.RELEASE\/javadoc-api\/org\/springframework\/web\/client\/RestTemplate.html\">https:\/\/docs.spring.io\/spring-framework\/docs\/5.2.2.RELEASE\/javadoc-api\/org\/springframework\/web\/client\/RestTemplate.html<\/a><\/p>\n<p>\u4f7f\u7528<br \/>\n\u4f7f\u7528restTemplate\u8bbf\u95eerestful\u63a5\u53e3\u975e\u5e38\u7684\u7b80\u5355\u7c97\u66b4\u65e0\u8111\u3002<br \/>\n(url, requestMap, ResponseBean.class)\u8fd9\u4e09\u4e2a\u53c2\u6570\u5206\u522b\u4ee3\u8868<br \/>\nREST\u8bf7\u6c42\u5730\u5740\u3001\u8bf7\u6c42\u53c2\u6570\u3001HTTP\u54cd\u5e94\u8f6c\u6362\u88ab\u8f6c\u6362\u6210\u7684\u5bf9\u8c61\u7c7b\u578b\u3002<\/p>\n<p>\u914d\u7f6e<\/p>\n<pre><code class=\"language-java\">@Configuration\npublic class ApplicationContextConfig {\n\n    @Bean\n    public RestTemplate getRestTemplate(){\n        return new RestTemplate();\n    }\n}<\/code><\/pre>\n<p>controller\u4e2d\u4f7f\u7528<\/p>\n<pre><code class=\"language-java\">@RestController\npublic class OrderController\n{\n\n    public static final String PaymentSrv_URL = &quot;http:\/\/localhost:8001&quot;;\n\n    @Autowired\n    private RestTemplate restTemplate;\n\n    @GetMapping(&quot;\/consumer\/payment\/create&quot;) \/\/\u5ba2\u6237\u7aef\u7528\u6d4f\u89c8\u5668\u662fget\u8bf7\u6c42\uff0c\u4f46\u662f\u5e95\u5c42\u5b9e\u8d28\u53d1\u9001post\u8c03\u7528\u670d\u52a1\u7aef8001\n    public CommonResult create(Payment payment)\n    {\n        return restTemplate.postForObject(PaymentSrv_URL + &quot;\/payment\/create&quot;,payment,CommonResult.class);\n    }\n\n    @GetMapping(&quot;\/consumer\/payment\/get\/{id}&quot;)\n    public CommonResult getPayment(@PathVariable Long id)\n    {\n        return restTemplate.getForObject(PaymentSrv_URL + &quot;\/payment\/get\/&quot;+id, CommonResult.class, id);\n    }\n}<\/code><\/pre>\n<h2>\u6d4b\u8bd5<\/h2>\n<p><a href=\"http:\/\/localhost\/consumer\/payment\/get\/1\">http:\/\/localhost\/consumer\/payment\/get\/1<\/a><\/p>\n<p>\u4e0d\u8981\u5fd8\u8bb0@RequestBody\u6ce8\u89e3--<strong>\u6682\u65f6\u6ca1\u5f04\u6e05\u695a\uff0c\u4e3a\u4ec0\u4e48\u8bbf\u95ee8001\u4e3a\u4ec0\u4e48\u4e0d\u80fd\u52a0\u4e0a\u6ce8\u89e3<\/strong><\/p>\n<p><a href=\"http:\/\/localhost\/consumer\/payment\/create?serial=aaaaa1\">http:\/\/localhost\/consumer\/payment\/create?serial=aaaaa1<\/a><\/p>\n<h2>\u5de5\u7a0b\u91cd\u6784<\/h2>\n<p>\u89c2\u5bdf\u95ee\u9898\uff1a<\/p>\n<p>\u7cfb\u7edf\u4e2d\u6709\u91cd\u590d\u90e8\u5206\uff0c\u91cd\u6784<\/p>\n<p>\u5b9e\u4f53\u7c7b\u91cd\u590d\u4e86\uff0c\u540e\u671f\u5982\u679c\u6709\u591a\u4e2a\u9879\u76ee\uff0c\u5b9e\u4f53\u7c7b\u4f1a\u81a8\u80c0<\/p>\n<p>\u65b0\u5efa\uff1acloud-api-commons<\/p>\n<p>POM<\/p>\n<pre><code class=\"language-xml\">    &lt;parent&gt;\n        &lt;artifactId&gt;cloud2022&lt;\/artifactId&gt;\n        &lt;groupId&gt;com.springcloud&lt;\/groupId&gt;\n        &lt;version&gt;1.0-SNAPSHOT&lt;\/version&gt;\n    &lt;\/parent&gt;\n    &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n\n    &lt;artifactId&gt;cloud-api-commons&lt;\/artifactId&gt;\n\n    &lt;dependencies&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-boot-devtools&lt;\/artifactId&gt;\n            &lt;scope&gt;runtime&lt;\/scope&gt;\n            &lt;optional&gt;true&lt;\/optional&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.projectlombok&lt;\/groupId&gt;\n            &lt;artifactId&gt;lombok&lt;\/artifactId&gt;\n            &lt;optional&gt;true&lt;\/optional&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;cn.hutool&lt;\/groupId&gt;\n            &lt;artifactId&gt;hutool-all&lt;\/artifactId&gt;\n            &lt;version&gt;5.1.0&lt;\/version&gt;\n        &lt;\/dependency&gt;\n    &lt;\/dependencies&gt;<\/code><\/pre>\n<p>\u6dfb\u52a0Payment\u548cCommonResult\u5b9e\u4f53\u7c7b\uff0c\u53c2\u7167\u57288001\u670d\u52a1\u63d0\u4f9b\u8005\u6a21\u5757<\/p>\n<p>maven\u547d\u4ee4clean install\uff0c\u6253\u5305\u65b9\u4fbf\u5176\u5b83\u6a21\u5757\u5f15\u7528<\/p>\n<p>\u8ba2\u535580\u548c\u652f\u4ed88001\u5206\u522b\u6539\u9020\uff1a<\/p>\n<p>\u5220\u9664\u539f\u6765\u7684entity\u5305<\/p>\n<p>\u5f15\u5165<\/p>\n<pre><code class=\"language-xml\">&lt;dependency&gt;\n    &lt;groupId&gt;com.springcloud&lt;\/groupId&gt;\n    &lt;artifactId&gt;cloud-api-commons&lt;\/artifactId&gt;\n    &lt;version&gt;${project.version}&lt;\/version&gt;\n&lt;\/dependency&gt;<\/code><\/pre>\n<p>\u81ea\u6d4b\u901a\u8fc7<\/p>\n<p><a href=\"http:\/\/localhost\/consumer\/payment\/get\/1\">http:\/\/localhost\/consumer\/payment\/get\/1<\/a><\/p>\n<p><a href=\"http:\/\/localhost\/consumer\/payment\/create?serial=test199\">http:\/\/localhost\/consumer\/payment\/create?serial=test199<\/a><\/p>\n<h2>\u76ee\u524d\u5de5\u7a0b\u6837\u56fe<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/bucket-blog-img.oss-cn-shanghai.aliyuncs.com\/wp-content\/uploads\/2022\/04\/image-1650779716705.png'><img class=\"lazyload lazyload-style-11\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/bucket-blog-img.oss-cn-shanghai.aliyuncs.com\/wp-content\/uploads\/2022\/04\/image-1650779716705.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"file\" \/><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7ea6\u5b9a &gt; \u914d\u7f6e &gt; \u7f16\u7801 IDEA\u65b0\u5efaproject\u5de5\u4f5c\u7a7a\u95f4 1 \u65b0\u5efaEmpty Project\uff0c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[126],"tags":[70],"class_list":["post-377","post","type-post","status-publish","format-standard","hentry","category-java-microservices","tag-springcloud"],"_links":{"self":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts\/377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=377"}],"version-history":[{"count":1,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts\/377\/revisions"}],"predecessor-version":[{"id":2124,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts\/377\/revisions\/2124"}],"wp:attachment":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}