Hey there! You're using an out-of-date browser, so this site probably looks pretty funny. Upgrade your browser for the full experience.
dev header

Easy WordPress REST API debugging

Debugging a WordPress REST endpoint (or any other endpoint) doesn't have to be difficult.

Debugging is hard

Usually, debugging an endpoint goes a little like this:

1. Add some debug code to your REST endpoint
2. Go to your website
3. Fill out a form (or whatever)
4. Submit the form
5. Open the Chrome Inspector
6. Look at the response from the endpoint
7. Repeat

That’s too many steps!

If we only working on the back-end endpoint, we can simplify our debugging by sending the same request over and over using cURL on the command-line.

Grab your request data

The first step is to get a data payload and save it to a file so you can send it to your endpoint. (We’re assuming you’re sending and receiving JSON.)

You can craft one by hand if your endpoint is simple enough, but that’s usually not the case. Most of the time, it’s easier to grab the data from a browser request.

Chrome makes this super easy.

1. Open the Developer Tools and click on the Network tab

2. Click on your request in the list of network requests.

3. Click on the Headers tab and scroll down to “Request Payload” and click “View Source”

4. That will show you the raw JSON of your request which you can copy & paste into a file.

Make ALL THE REQUESTS

Once you have you JSON in a file (let’s say it’s called file.json), making the request is easy.

curl -X POST -d @file.json -H 'Content-Type: application/json' "http://myhost.com/wp-json/restendpoint"

Now you can easily make the same request over and over while you work on the endpoint. Plus you can put all kinds of debugging printouts in the endpoint and you can see the output.

Born and raised in
Louisville, Kentucky.

502.498.8470

223 S. Clay St

Work With Us

  • This field is for validation purposes and should be left unchanged.