Spring client for WordPress REST
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
spring-wpapi-client
spring-wpapi-core
spring-wpapi-test
.gitignore
LICENSE.txt
README.md
pom.xml

README.md

Spring WordPress WP-API Client

This is a Spring client for WordPress REST plugin, which makes it easy to integrate Spring Boot applications with WordPress CMS.

Usage

Add the following dependency to your Spring Boot Application

<dependency>
    <groupId>org.kamranzafar.spring.wpapi</groupId>
    <artifactId>spring-wpapi</artifactId>
    <version>0.1</version>
</dependency>

Below is a sample configuration we need in the application.properties file

wpapi.host=yoursite.com
wpapi.port=443   # Optional, default is 80
wpapi.https=true # Optional, default is false

The Spring WP-API client needs the RestTemplate so lets create a bean in our Application and autowire the Spring client. We also need to add component scan annotation so that Spring finds and autowires all the required dependencies.

@SpringBootApplication
@ComponentScan("org.kamranzafar.spring.wpapi")
public class Application implements CommandLineRunner {
    public static void main(String args[]) {
        SpringApplication.run(Application.class);
    }
 
    @Autowired
    private WpApiClient wpApiClient;
 
    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

Now just use client to call the WordPress services

Map params = new HashMap<>();
params.put("search", "Spring");
params.put("per_page", "2"); // results per page
params.put("page", "1"); // current page
 
// See WP-API Documentation more parameters
// http://v2.wp-api.org/reference/
 
Post[] posts = wpApiClient.getPostService().getAll(params);
 
for (Post p : posts) {
    log.info("Post: " + p.getId());
    log.info("" + p.getContent());
}

License

Apache Software License 2.0