Best way to retrieve data in custom api extended from wp-api
I have extended WP API plugin to provide an API which can process documents.
Routes
public function register_routes($routes)
{
$documents_routes = array(
'/v1/documents' = array(
array(array($this, 'create_document'), WP_JSON_Server::CREATABLE),
)
);
$new_routes = array_merge($routes, $documents_routes);
return $new_routes;
}
callback function
public function create_document($data, $_files = null){
if(!empty($_files)) {
// process file
}
// how to retrieve
}
Request
POST /api/v1/documents/ HTTP/1.1
Host: localhost
Cache-Control: no-cache
Postman-Token: d5277e1c-12ac-309a-034f-135173b7c7f2
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="doc_id"
3268360
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="PINS REST API Documentation v1.2.doc"
Content-Type: application/msword
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="case_reference"
EN0102234
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="author"
Ghazanfar
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="stage"
1
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="category"
Application
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="type"
Document
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="description"
This is test document
----WebKitFormBoundary7MA4YWxkTrZu0gW
The Problem
I have some properties such as doc_id, case_reference, description, author, size etc which will be passed to the api along with the file.
Now the problem is I want to be able to retrieve all data if content-type:form-data is used. What is the best way to retrieve all passed data in the callback function efficiently?
Topic wp-api plugin-json-api plugin-development plugins Wordpress
Category Web