{"id":23206,"date":"2024-03-16T00:58:06","date_gmt":"2024-03-16T00:58:06","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/"},"modified":"2024-03-22T00:42:50","modified_gmt":"2024-03-22T00:42:50","slug":"how-to-call-a-third-party-api-using-feignclient","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/","title":{"rendered":"How to call a third-party API using feignclient?"},"content":{"rendered":"<p>To call a third-party API using FeignClient, follow these steps:<\/p>\n<ol>\n<li>Add the Feign dependency to the pom.xml file.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">dependencies<\/span>&gt;<\/span>\r\n    ...\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>org.springframework.cloud<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>\r\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>spring-cloud-starter-openfeign<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n    ...\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">dependencies<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<ol>\n<li>Activate Feign Clients<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@SpringBootApplication<\/span>\r\n<span class=\"hljs-meta\">@EnableFeignClients<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">YourApplication<\/span> {\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">(String[] args)<\/span> {\r\n        SpringApplication.run(YourApplication.class, args);\r\n    }\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>Using the @FeignClient annotation<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@FeignClient(name = \"third-party-api\", url = \"http:\/\/api.example.com\")<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">interface<\/span> <span class=\"hljs-title class_\">ThirdPartyApi<\/span> {\r\n    \r\n    <span class=\"hljs-meta\">@GetMapping(\"\/users\/{id}\")<\/span>\r\n    User <span class=\"hljs-title function_\">getUserById<\/span><span class=\"hljs-params\">(<span class=\"hljs-meta\">@PathVariable(\"id\")<\/span> Long id)<\/span>;\r\n    \r\n    <span class=\"hljs-meta\">@PostMapping(\"\/users\")<\/span>\r\n    User <span class=\"hljs-title function_\">createUser<\/span><span class=\"hljs-params\">(<span class=\"hljs-meta\">@RequestBody<\/span> User user)<\/span>;\r\n    \r\n    <span class=\"hljs-comment\">\/\/ \u5176\u4ed6\u9700\u8981\u8c03\u7528\u7684\u63a5\u53e3\u65b9\u6cd5<\/span>\r\n}\r\n<\/code><\/pre>\n<p>The name attribute represents the name of the FeignClient, while the url attribute represents the URL of the third-party interface.<\/p>\n<ol>\n<li>Inject the FeignClient interface where third-party API calls are needed and use its methods for invocation.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@RestController<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">YourController<\/span> {\r\n    \r\n    <span class=\"hljs-keyword\">private<\/span> <span class=\"hljs-keyword\">final<\/span> ThirdPartyApi thirdPartyApi;\r\n    \r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-title function_\">YourController<\/span><span class=\"hljs-params\">(ThirdPartyApi thirdPartyApi)<\/span> {\r\n        <span class=\"hljs-built_in\">this<\/span>.thirdPartyApi = thirdPartyApi;\r\n    }\r\n    \r\n    <span class=\"hljs-meta\">@GetMapping(\"\/users\/{id}\")<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> User <span class=\"hljs-title function_\">getUser<\/span><span class=\"hljs-params\">(<span class=\"hljs-meta\">@PathVariable(\"id\")<\/span> Long id)<\/span> {\r\n        <span class=\"hljs-keyword\">return<\/span> thirdPartyApi.getUserById(id);\r\n    }\r\n    \r\n    <span class=\"hljs-meta\">@PostMapping(\"\/users\")<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> User <span class=\"hljs-title function_\">createUser<\/span><span class=\"hljs-params\">(<span class=\"hljs-meta\">@RequestBody<\/span> User user)<\/span> {\r\n        <span class=\"hljs-keyword\">return<\/span> thirdPartyApi.createUser(user);\r\n    }\r\n    \r\n    <span class=\"hljs-comment\">\/\/ \u5176\u4ed6\u9700\u8981\u8c03\u7528\u7b2c\u4e09\u65b9\u63a5\u53e3\u7684\u65b9\u6cd5<\/span>\r\n}\r\n<\/code><\/pre>\n<p>This allows you to call third-party APIs through FeignClient. FeignClient automatically constructs requests based on the defined interface methods and provides some configurable options such as request timeout, request retry, etc. These configurations can be adjusted according to your needs during actual usage.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To call a third-party API using FeignClient, follow these steps: Add the Feign dependency to the pom.xml file. &lt;dependencies&gt; &#8230; &lt;dependency&gt; &lt;groupId&gt;org.springframework.cloud&lt;\/groupId&gt; &lt;artifactId&gt;spring-cloud-starter-openfeign&lt;\/artifactId&gt; &lt;\/dependency&gt; &#8230; &lt;\/dependencies&gt; Activate Feign Clients @SpringBootApplication @EnableFeignClients public class YourApplication { public static void main(String[] args) { SpringApplication.run(YourApplication.class, args); } } Using the @FeignClient annotation @FeignClient(name = &#8220;third-party-api&#8221;, url = &#8220;http:\/\/api.example.com&#8221;) [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-23206","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to call a third-party API using feignclient? - Blog - Silicon Cloud<\/title>\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.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to call a third-party API using feignclient?\" \/>\n<meta property=\"og:description\" content=\"To call a third-party API using FeignClient, follow these steps: Add the Feign dependency to the pom.xml file. &lt;dependencies&gt; ... &lt;dependency&gt; &lt;groupId&gt;org.springframework.cloud&lt;\/groupId&gt; &lt;artifactId&gt;spring-cloud-starter-openfeign&lt;\/artifactId&gt; &lt;\/dependency&gt; ... &lt;\/dependencies&gt; Activate Feign Clients @SpringBootApplication @EnableFeignClients public class YourApplication { public static void main(String[] args) { SpringApplication.run(YourApplication.class, args); } } Using the @FeignClient annotation @FeignClient(name = &quot;third-party-api&quot;, url = &quot;http:\/\/api.example.com&quot;) [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-16T00:58:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T00:42:50+00:00\" \/>\n<meta name=\"author\" content=\"Noah Thompson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Noah Thompson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/\"},\"author\":{\"name\":\"Noah Thompson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\"},\"headline\":\"How to call a third-party API using feignclient?\",\"datePublished\":\"2024-03-16T00:58:06+00:00\",\"dateModified\":\"2024-03-22T00:42:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/\"},\"wordCount\":113,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/\",\"name\":\"How to call a third-party API using feignclient? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T00:58:06+00:00\",\"dateModified\":\"2024-03-22T00:42:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to call a third-party API using feignclient?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\",\"name\":\"Noah Thompson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"caption\":\"Noah Thompson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to call a third-party API using feignclient? - Blog - Silicon Cloud","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.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/","og_locale":"en_US","og_type":"article","og_title":"How to call a third-party API using feignclient?","og_description":"To call a third-party API using FeignClient, follow these steps: Add the Feign dependency to the pom.xml file. &lt;dependencies&gt; ... &lt;dependency&gt; &lt;groupId&gt;org.springframework.cloud&lt;\/groupId&gt; &lt;artifactId&gt;spring-cloud-starter-openfeign&lt;\/artifactId&gt; &lt;\/dependency&gt; ... &lt;\/dependencies&gt; Activate Feign Clients @SpringBootApplication @EnableFeignClients public class YourApplication { public static void main(String[] args) { SpringApplication.run(YourApplication.class, args); } } Using the @FeignClient annotation @FeignClient(name = \"third-party-api\", url = \"http:\/\/api.example.com\") [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T00:58:06+00:00","article_modified_time":"2024-03-22T00:42:50+00:00","author":"Noah Thompson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Noah Thompson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/"},"author":{"name":"Noah Thompson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a"},"headline":"How to call a third-party API using feignclient?","datePublished":"2024-03-16T00:58:06+00:00","dateModified":"2024-03-22T00:42:50+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/"},"wordCount":113,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/","name":"How to call a third-party API using feignclient? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T00:58:06+00:00","dateModified":"2024-03-22T00:42:50+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-third-party-api-using-feignclient\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to call a third-party API using feignclient?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a","name":"Noah Thompson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","caption":"Noah Thompson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/23206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=23206"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/23206\/revisions"}],"predecessor-version":[{"id":57169,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/23206\/revisions\/57169"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=23206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=23206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=23206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}