<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "UTF-8" >
<!-- [if IE]><meta http - equiv="X - UA - Compatible" content="IE=edge"><![endif] -->
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< meta name = "generator" content = "Asciidoctor 1.5.8" >
< title > Features< / title >
< link rel = "stylesheet" href = "css/spring.css" >
< link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" >
< style >
.hidden {
display: none;
}
.switch {
border-width: 1px 1px 0 1px;
border-style: solid;
border-color: #7a2518;
display: inline-block;
}
.switch--item {
padding: 10px;
background-color: #ffffff;
color: #7a2518;
display: inline-block;
cursor: pointer;
}
.switch--item:not(:first-child) {
border-width: 0 0 0 1px;
border-style: solid;
border-color: #7a2518;
}
.switch--item.selected {
background-color: #7a2519;
color: #ffffff;
}
< / style >
< script src = "https://cdnjs.cloudflare.com/ajax/libs/zepto/1.2.0/zepto.min.js" > < / script >
< script type = "text/javascript" >
function addBlockSwitches() {
$('.primary').each(function() {
primary = $(this);
createSwitchItem(primary, createBlockSwitch(primary)).item.addClass("selected");
primary.children('.title').remove();
});
$('.secondary').each(function(idx, node) {
secondary = $(node);
primary = findPrimary(secondary);
switchItem = createSwitchItem(secondary, primary.children('.switch'));
switchItem.content.addClass('hidden');
findPrimary(secondary).append(switchItem.content);
secondary.remove();
});
}
function createBlockSwitch(primary) {
blockSwitch = $('< div class = "switch" > < / div > ');
primary.prepend(blockSwitch);
return blockSwitch;
}
function findPrimary(secondary) {
candidate = secondary.prev();
while (!candidate.is('.primary')) {
candidate = candidate.prev();
}
return candidate;
}
function createSwitchItem(block, blockSwitch) {
blockName = block.children('.title').text();
content = block.children('.content').first().append(block.next('.colist'));
item = $('< div class = "switch--item" > ' + blockName + '< / div > ');
item.on('click', '', content, function(e) {
$(this).addClass('selected');
$(this).siblings().removeClass('selected');
e.data.siblings('.content').addClass('hidden');
e.data.removeClass('hidden');
});
blockSwitch.append(item);
return {'item': item, 'content': content};
}
function globalSwitch() {
$('.switch--item').each(function() {
$(this).off('click');
$(this).on('click', function() {
selectedText = $(this).text()
selectedIndex = $(this).index()
$(".switch--item").filter(function() { return ($(this).text() === selectedText) }).each(function() {
$(this).addClass('selected');
$(this).siblings().removeClass('selected');
selectedContent = $(this).parent().siblings(".content").eq(selectedIndex)
selectedContent.removeClass('hidden');
selectedContent.siblings().addClass('hidden');
});
});
});
}
$(addBlockSwitches);
$(globalSwitch);
< / script >
< / head >
< body class = "book toc2 toc-left" >
< div id = "header" >
< div id = "toc" class = "toc2" >
< div id = "toctitle" > Table of Contents< / div >
< ul class = "sectlevel1" >
< li > < a href = "#_features" > Features< / a > < / li >
< li > < a href = "#_getting_started" > Getting Started< / a > < / li >
< / ul >
< / div >
< / div >
< div id = "content" >
< div id = "preamble" >
< div class = "sectionbody" >
< div class = "paragraph" >
< p > This project provides < a href = "https://github.com/OpenFeign/feign" > OpenFeign< / a > integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other Spring programming model idioms.< / p >
< / div >
< / div >
< / div >
< div class = "sect1" >
< h2 id = "_features" > < a class = "link" href = "#_features" > Features< / a > < / h2 >
< div class = "sectionbody" >
< div class = "ulist" >
< ul >
< li >
< p > Declarative REST Client: Feign creates a dynamic implementation of an interface decorated with JAX-RS or Spring MVC annotations< / p >
< / li >
< / ul >
< / div >
< / div >
< / div >
< div class = "sect1" >
< h2 id = "_getting_started" > < a class = "link" href = "#_getting_started" > Getting Started< / a > < / h2 >
< div class = "sectionbody" >
< div class = "listingblock" >
< div class = "content" >
< pre class = "highlightjs highlight" > < code class = "language-java hljs" data-lang = "java" > @SpringBootApplication
@EnableFeignClients
public class WebApplication {
public static void main(String[] args) {
SpringApplication.run(WebApplication.class, args);
}
@FeignClient("name")
static interface NameService {
@RequestMapping("/")
public String getName();
}
}< / code > < / pre >
< / div >
< / div >
< / div >
< / div >
< / div >
< script type = "text/javascript" src = "js/tocbot/tocbot.min.js" > < / script >
< script type = "text/javascript" src = "js/toc.js" > < / script >
< link rel = "stylesheet" href = "js/highlight/styles/atom-one-dark-reasonable.min.css" >
< script src = "js/highlight/highlight.min.js" > < / script >
< script > hljs . initHighlighting ( ) < / script >
< / body >
< / html >