api-response-provider

1.1.0 • Public • Published

api-response-provider

Nodejs library for implementing structured responses to API calls

This library helps in the standardized generation of responses of any API layer. It also provides utilities for multi-language support of error responses

The library takes care to always guarantee a "status" key containing the logical result of the operation. In the case of "status" to false, the "error" object containing "code" and "description" will always be present. Here are some examples

// Success operation message
{
    "status" : true,
    "foo" : "bar"
}

// Error operation message
{
    "status" : false,
    "error" : {
        "code" : 10,
        "desc" : "Error description message"
    }
}

Installation

    npm i --save api-response-provider

How to use

    var responseProvider =  require('@holocron-it/api-response-provider');

    let Rs = new responseProvider.response();
    Rs.addData('foo',"bar");
    let resObj = Rs.getResponse(); // Object
    let resStr = Rs.getJsonResponse(); // JSON string
    
    // With error
    
    let Re = new responseProvider.response();


    Re.setError(10, "My custom error message");
    // OR
    Re.setError(10); // If not specified, the message will be taken from the preloaded catalog for the current locale. This is useful if you have errors common to multiple methods

    let resObj = Re.getResponse(); // Object
    let resStr = Re.getJsonResponse(); // JSON string
    
    
    // With custom locale
    
    let itErrorMessageList = {
        "default" : "Errore in italiano generico",
        10 : "Descrizione errore 10"
    }
    responseProvider.loadErrorListForLocale( 'it', itErrorMessageList );
    // Default locale id "en".
    
    let Rit = new responseProvider.response();
    Rit.setLocale('it');
    Rit.setError(10);
    let resObj = Rit.getResponse(); // Object
    let resStr = Rit.getJsonResponse(); // JSON string
    

Readme

Keywords

Package Sidebar

Install

npm i api-response-provider

Weekly Downloads

5

Version

1.1.0

License

ISC

Unpacked Size

47.3 kB

Total Files

7

Last publish

Collaborators

  • holocron-it