Skip to content

membrane/membrane-spring-boot-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Membrane Spring Boot Starter

CircleCI Release Dependency Status codecov Hex.pm

A Spring Boot Starter for Membrane Service Proxy.

Usage

Forward all GET requests starting with /jokes to The Internet Chuck Norris Database API.

@EnableMembrane
@SpringBootApplication
public class Application {
    @Bean
    public Proxies proxies() {
        return p -> p
            .serviceProxy(s -> s
                .matches(m -> m
                     .method(GET) 
                     .pathPrefix("/jokes"))
                .target(t -> t.host("api.icndb.com")));
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

Test the configuration by performing a GET request.

$ curl http://localhost:8080/jokes/497

The output should look similar to this.

{
    "type": "success",
        "value": {
        "id": 497,
        "joke": "If Chuck Norris writes code with bugs, the bugs fix themselves.",
        "categories": [
            "nerdy"
        ]
    }
}

Installation

Maven

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.github.membrane</groupId>
        <artifactId>membrane-spring-boot-starter</artifactId>
        <version>0.6.0</version>
    </dependency>
</dependencies>

Gradle

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    compile 'com.github.membrane:membrane-spring-boot-starter:0.6.0'
}

Acknowledgements

Thanks @snicoll for pointing out flaws in the auto-configuration!