Skip to content

kundan24/exact-response

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Exact Response

Its a simple graphql type alternative for any rest api.

Any query

contact me on Linkedin kundan kumar .

Installation

npm install exact-response

Usage

BY GET METHOD
http://localhost:4000/api?myCustomQry='name,email,address.city'
                         OR
BY POST METHOD
http://localhost:4000/api

//pass your identifier in body and post it

body:{
"myCustomQry":"name,email,address"
}
                           OR
By Custom header
//If you don't want show query in url you can also set header
axios.get('https://example.com/getSomething', {
 headers: {
  "myCustomQry":"name,email,address"
 }
})

import {exactResponse, exactData} from 'exact-response'

routes.get('/',(req:Request,res:Response,next:NextFunction)=>{
try{
let data=[
  {
    "id": 1,
    "name": "Leanne Graham",
    "username": "Bret",
    "email": "Sincere@april.biz",
    "address": {
      "street": "Kulas Light",
      "city": "Gwenborough",
    }
  },
  {
    "id": 2,
    "name": "Ervin Howell",
    "username": "Antonette",
    "email": "Shanna@melissa.tv",
    "address": {
      "street": "Victor Plains",
      "city": "Wisokyburgh"
    }
}]

return res.json(exactResponse(req,data,'myCustomQry'));

/**
  it will return data what you exactly want
   Nothing more nothing less 

 [{
    "name": "Leanne Graham",
    "username": "Bret",
    "address": {
      "city": "Gwenborough",
    }
  },
  {
    "name": "Ervin Howell",
    "username": "Antonette",
     "address": {
      "city": "Wisokyburgh"
    }
  }]  **/
}catch(err){
next(err);
})
//response with any data
import {exactResponse, exactData} from 'exact-response'

let data=[
  {
    "userId": 1,
    "id": 1,
    "title": "delectus aut autem",
    "completed": false
  },
  {
    "userId": 1,
    "id": 2,
    "title": "quis ut nam facilis et officia qui",
    "completed": false
  },
  {
    "userId": 1,
    "id": 3,
    "title": "fugiat veniam minus",
    "completed": false
  }
];

let qry="id,title";

console.log(exactData(qry,data))
/* It will return which you needed

[
  {
    "id": 1,
    "title": "delectus aut autem"
  },
  {
    "id": 2,
    "title": "quis ut nam facilis et officia qui",
  },
  {
    "id": 3,
    "title": "fugiat veniam minus",
  }
];
*/

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published