• I have extended [WP API][1] 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?

    [1]: https://ww.wp.xz.cn/plugins/json-rest-api/

Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)

The topic ‘Retrieve data passed to extended api’ is closed to new replies.