{"id":10531,"date":"2024-03-14T12:16:39","date_gmt":"2024-03-14T12:16:39","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/"},"modified":"2025-08-04T00:47:09","modified_gmt":"2025-08-04T00:47:09","slug":"how-to-invoke-external-apis-using-openfeign","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/","title":{"rendered":"OpenFeign External API Integration Guide"},"content":{"rendered":"<p>When using OpenFeign to call an external API, the first step is to define an interface that includes the methods, parameters, and return values of the external API to be called. Then, a Feign client needs to be created to use this client to call the defined interface.<\/p>\n<p>Here is an example of calling an external API using OpenFeign:<\/p>\n<ol>\n<li>Define a Feign interface.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> org.springframework.cloud.openfeign.FeignClient;\r\n<span class=\"hljs-keyword\">import<\/span> org.springframework.web.bind.annotation.GetMapping;\r\n<span class=\"hljs-keyword\">import<\/span> org.springframework.web.bind.annotation.RequestParam;\r\n\r\n<span class=\"hljs-meta\">@FeignClient(name = \"external-api\", url = \"https:\/\/api.example.com\")<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">interface<\/span> <span class=\"hljs-title class_\">ExternalApiClient<\/span> {\r\n\r\n    <span class=\"hljs-meta\">@GetMapping(\"\/endpoint\")<\/span>\r\n    String <span class=\"hljs-title function_\">getExternalData<\/span><span class=\"hljs-params\">(<span class=\"hljs-meta\">@RequestParam(\"param\")<\/span> String param)<\/span>;\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>Create a service class that utilizes the Feign interface to make calls to external APIs.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> org.springframework.beans.factory.annotation.Autowired;\r\n<span class=\"hljs-keyword\">import<\/span> org.springframework.stereotype.Service;\r\n\r\n<span class=\"hljs-meta\">@Service<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">ExternalApiService<\/span> {\r\n\r\n    <span class=\"hljs-meta\">@Autowired<\/span>\r\n    <span class=\"hljs-keyword\">private<\/span> ExternalApiClient externalApiClient;\r\n\r\n    <span class=\"hljs-keyword\">public<\/span> String <span class=\"hljs-title function_\">fetchDataFromExternalApi<\/span><span class=\"hljs-params\">(String param)<\/span> {\r\n        <span class=\"hljs-keyword\">return<\/span> externalApiClient.getExternalData(param);\r\n    }\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>Inject and use ExternalApiService where external interfaces need to be called.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> org.springframework.beans.factory.annotation.Autowired;\r\n<span class=\"hljs-keyword\">import<\/span> org.springframework.web.bind.annotation.GetMapping;\r\n<span class=\"hljs-keyword\">import<\/span> org.springframework.web.bind.annotation.RequestParam;\r\n<span class=\"hljs-keyword\">import<\/span> org.springframework.web.bind.annotation.RestController;\r\n\r\n<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_\">ExternalApiController<\/span> {\r\n\r\n    <span class=\"hljs-meta\">@Autowired<\/span>\r\n    <span class=\"hljs-keyword\">private<\/span> ExternalApiService externalApiService;\r\n\r\n    <span class=\"hljs-meta\">@GetMapping(\"\/fetchData\")<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> String <span class=\"hljs-title function_\">fetchDataFromExternalApi<\/span><span class=\"hljs-params\">(<span class=\"hljs-meta\">@RequestParam<\/span> String param)<\/span> {\r\n        <span class=\"hljs-keyword\">return<\/span> externalApiService.fetchDataFromExternalApi(param);\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>By following the above steps, you can use OpenFeign to call external APIs and return the data to the caller. It is important to note that the annotations and functionalities supported by OpenFeign are similar to those in Spring MVC, allowing for adjustments and configurations based on the requirements of the external API.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When using OpenFeign to call an external API, the first step is to define an interface that includes the methods, parameters, and return values of the external API to be called. Then, a Feign client needs to be created to use this client to call the defined interface. Here is an example of calling an [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[5773,13192,2620,13191,2619],"class_list":["post-10531","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-api-integration","tag-external-apis","tag-microservices","tag-openfeign","tag-spring-cloud"],"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>OpenFeign External API Integration Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to invoke external APIs using OpenFeign in Spring Boot with our step-by-step tutorial and code examples.\" \/>\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-invoke-external-apis-using-openfeign\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OpenFeign External API Integration Guide\" \/>\n<meta property=\"og:description\" content=\"Learn how to invoke external APIs using OpenFeign in Spring Boot with our step-by-step tutorial and code examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/\" \/>\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-14T12:16:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-04T00:47:09+00:00\" \/>\n<meta name=\"author\" content=\"Olivia Parker\" \/>\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=\"Olivia Parker\" \/>\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-invoke-external-apis-using-openfeign\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/\"},\"author\":{\"name\":\"Olivia Parker\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\"},\"headline\":\"OpenFeign External API Integration Guide\",\"datePublished\":\"2024-03-14T12:16:39+00:00\",\"dateModified\":\"2025-08-04T00:47:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/\"},\"wordCount\":147,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"API integration\",\"External APIs\",\"microservices\",\"OpenFeign\",\"Spring Cloud\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/\",\"name\":\"OpenFeign External API Integration Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T12:16:39+00:00\",\"dateModified\":\"2025-08-04T00:47:09+00:00\",\"description\":\"Learn how to invoke external APIs using OpenFeign in Spring Boot with our step-by-step tutorial and code examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OpenFeign External API Integration Guide\"}]},{\"@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\/3ff7b3da0e45ac5dbbef2502f3cea8d9\",\"name\":\"Olivia Parker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"caption\":\"Olivia Parker\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"OpenFeign External API Integration Guide - Blog - Silicon Cloud","description":"Learn how to invoke external APIs using OpenFeign in Spring Boot with our step-by-step tutorial and code examples.","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-invoke-external-apis-using-openfeign\/","og_locale":"en_US","og_type":"article","og_title":"OpenFeign External API Integration Guide","og_description":"Learn how to invoke external APIs using OpenFeign in Spring Boot with our step-by-step tutorial and code examples.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T12:16:39+00:00","article_modified_time":"2025-08-04T00:47:09+00:00","author":"Olivia Parker","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Olivia Parker","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/"},"author":{"name":"Olivia Parker","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9"},"headline":"OpenFeign External API Integration Guide","datePublished":"2024-03-14T12:16:39+00:00","dateModified":"2025-08-04T00:47:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/"},"wordCount":147,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["API integration","External APIs","microservices","OpenFeign","Spring Cloud"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/","name":"OpenFeign External API Integration Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T12:16:39+00:00","dateModified":"2025-08-04T00:47:09+00:00","description":"Learn how to invoke external APIs using OpenFeign in Spring Boot with our step-by-step tutorial and code examples.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-invoke-external-apis-using-openfeign\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"OpenFeign External API Integration Guide"}]},{"@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\/3ff7b3da0e45ac5dbbef2502f3cea8d9","name":"Olivia Parker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","caption":"Olivia Parker"},"url":"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/10531","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\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=10531"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/10531\/revisions"}],"predecessor-version":[{"id":154297,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/10531\/revisions\/154297"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=10531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=10531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=10531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}