1.1.0 • Published 12 months ago

api-response-provider v1.1.0

Weekly downloads
-
License
ISC
Repository
-
Last release
12 months ago

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
    
1.1.0

12 months ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago