API endpoint
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class Main {
public static void main(String[] args) {
try {
URL url = new URL("http://wp-api.pw/wp-json/");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
System.out.printf("Response: %d %sn", conn.getResponseCode(), conn.getResponseMessage());
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String input;
while ((input = br.readLine()) != null) {
System.out.println(input);
}
br.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Posts
Get
The Posts endpoint returns a Post Collection containing a subset of the site’s posts.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class Main {
public static void main(String[] args) {
try {
URL url = new URL("http://wp-api.pw/wp-json/posts");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
System.out.printf("Response: %d %sn", conn.getResponseCode(), conn.getResponseMessage());
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String input;
while ((input = br.readLine()) != null) {
System.out.println(input);
}
br.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Post
Create a Post Requires authentication
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class Main {
public static void main(String[] args) {
try {
String content = '{"title": "This is a post","content_raw": "This is some content"}';
URL url = new URL("http://wp-api.pw/wp-json/posts");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString("test:password".getBytes(StandardCharsets.UTF_8)));
conn.setRequestProperty("Content-Length", String.valueOf(content.getBytes("UTF-8").length));
conn.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
wr.writeBytes(content);
wr.flush();
wr.close();
System.out.printf("Response: %d %sn", conn.getResponseCode(), conn.getResponseMessage());
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String input;
while ((input = br.readLine()) != null) {
System.out.println(input);
}
br.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Delete
Delete a Post Requires authentication
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class Main {
public static void main(String[] args) {
try {
URL url = new URL("http://wp-api.pw/wp-json/posts/229");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("DELETE");
conn.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString("test:password".getBytes(StandardCharsets.UTF_8)));
System.out.printf("Response: %d %sn", conn.getResponseCode(), conn.getResponseMessage());
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String input;
while ((input = br.readLine()) != null) {
System.out.println(input);
}
br.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Media
Post
To create the raw data for an attachment. This is a binary object (blob), such as image data or a video.
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class Main {
public static void main(String[] args) {
try {
char[] buffer = new char[1024];
StringWriter writer = new StringWriter();
FileReader fileReader = new FileReader("/home/chen/IMG_1551.jpg");
for (int n = 0; -1 != (n = fileReader.read(buffer));) {
writer.write(buffer, 0, n);
}
fileReader.close();
String content = writer.toString();
URL url = new URL("http://wp-api.pw/wp-json/media");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "image/jpeg");
conn.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString("test:password".getBytes(StandardCharsets.UTF_8)));
conn.setRequestProperty("Content-Length", String.valueOf(content.getBytes("UTF-8").length));
conn.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
wr.writeBytes(content);
wr.flush();
wr.close();
System.out.printf("Response: %d %sn", conn.getResponseCode(), conn.getResponseMessage());
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String input;
while ((input = br.readLine()) != null) {
System.out.println(input);
}
br.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Users
Get
This endpoint offers a permalink to get the current user, without needing to know the user’s ID.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class Main {
public static void main(String[] args) {
try {
URL url = new URL("http://wp-api.pw/wp-json/users/me");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString("test:password".getBytes(StandardCharsets.UTF_8)));
System.out.printf("Response: %d %sn", conn.getResponseCode(), conn.getResponseMessage());
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String input;
while ((input = br.readLine()) != null) {
System.out.println(input);
}
br.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}