Skip to content

Conversation

@kadamwhite
Copy link
Collaborator

It is possible to reduce the size of the stored JSON objects by about 60% by removing all argument descriptions and all _links definitions. This script provides a new NPM alias, npm run download-endpoint-json, which will query the API endpoint at http://wpapi.loc (assuming the presence of github.com/kadamwhite/wpapi-vagrant-varietal), or at an endpoint of your choice, to

  1. Download the JSON from the API root endpoint
  2. Run that JSON through a utility method to remove unneeded properties
  3. Output the JSON into lib/data/endpoint-response.json (or a JSON file of your choice)

This may also be run against an arbitrary WP-API endpoint using the --endpoint flag, and piped into an arbitrary output directory --output. (The endpoint-response.json filename is currently not configurable.)

It is possible to reduce the size of the stored JSON objects by about
60% by removing all argument descriptions and all _links definitions.
This script provides a new NPM alias, `npm run download-endpoint-json`,
which will query the API endpoint at http://wpapi.loc (assuming the
presence of github.com/kadamwhite/wpapi-vagrant-varietal), or at an
endpoint of your choice, to

1. Download the JSON from the API root endpoint
2. Run that JSON through a utility method to remove unneeded properties
3. Output the JSON into `lib/data/endpoint-response.json` (or a JSON
   file of your choice)
@kadamwhite kadamwhite merged commit 69d18fb into master Jun 15, 2016
@kadamwhite kadamwhite deleted the create-download-endpoint-json-script branch June 15, 2016 03:36
kadamwhite added a commit that referenced this pull request Jun 24, 2016
This release makes some key changes, adds some essential functionality,
and re-wires things under the hood. I am unilaterally adopting the
model of naming releases after albums, because I am releasing this in
Vienna and "Mozart's House" by Clean Bandit (New Eyes, track 1) has
been stuck in my head throughout WordCamp Europe.

**Autodiscovery**

Autodiscovery is now supported via the `WP.discover` method (#181)

**Bootstrapping**

If you already have the API response object you want to bootstrap with,
the `.routes` property from it can now be passed in when calling `WP.site`
or instantiating a `new WP` object (also #181, documented #182):

```js
var site = WP.site( 'http://my-endpoint.com/wp-json', endpointJSON.routes );
```

A script to ease the process of downloading this JSON object was added
in PR #175

**registerRoute**

Arbitrary methods for custom endpoints can now be added without auto-
discovery by using the `.registerRoute` method, which takes the same
route configuration strings as `register_rest_route` in the API core.

**Internal Re-Architecture**

In #168 the innards of the library were totally gutted and re-written to support
autodiscovery, registerRoute and bootstrapping.

**Human-Readable names for HTTP verbs**

`PUT` and `POST` are not the most intuitive words for what they do, and
POST in particular caused a lot of semantic confusion with the post object
within the WordPress data model. `.post` has become `.create`, and `.put`
has become `.update`.

**Upgraded Dependencies**

Package dependencies and developer tools have all been updated to the
latest version in their respective ranges.

**Props**

@props to the community that submitted code, bugs, issues, questions, or
comments that added to & informed this release.

For general advice & conceptual validation:
@rmccue

For assisting with the discussion about how to handle autodiscovery
and custom route endpoints:
@adamsilverstein
@aedensixty
@andreipot
@artoliukkonen
@BenHen75
@chrishutchinson
@elyobo
@gnarf
@ishaan-puniani
@jasonphillips
@joehoyle
@jupitercow
@timmyc

For opening issues and asking questions:
@aedensixty
@dasheck0
@JSteranko
@nabeards
@satish9323
@stompweb

We still owe responses to:
@MurhafSousli
@smedegaard
@tommedema
@vtripolitakis
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants