This is a Spring client for WordPress REST plugin, which makes it easy to integrate Spring Boot applications with WordPress CMS.
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());
}
Apache Software License 2.0