A completely client-side and privacy-respecting alternative to test API calls.
-
Custom API Requests
- Set URL, method, headers, and body
- Currently, allows custom headers and this default ones.
- Supports body types:
text
,JSON
, andXML
-
Response Display
- Status code + message (color-coded)
- Headers and body in a user-friendly view
-
cURL Generator
- Create and copy cURL equivalent to clipboard
-
LocalStorage Integration
- Save and load request history (including response)
-
Tested with Vitest and Testing Library
fetch-it/
├── .github/ # CI/CD workflows
├── app/
│ │ tests_/ # Unit and component tests, following src structure
│ ├── public/
│ ├── src/ # Main source code
│ │ ├── components/
│ │ ├── constants/ # Static values like HTTP methods
│ │ ├── core/ # Core logic or services
│ │ ├── interfaces/ # TypeScript interfaces
│ │ ├── repository/ # LocalStorage utilities
│ │ ├── validators/
│ │ ├── App.vue
│ │ ├── main.ts
│ │ └── style.css
│ ├── vite-env.d.ts
│ ├── vue-shims.d.ts
│ ├── vite.config.ts
│ ├── vitest.config.ts
│ ├── vitestSetup.ts
│ ├── tsconfig*.json
│ └── index.html
├── docs/
├── LICENSE
└── README.md
git clone https://github.com/rucev/fetch-it.git
cd fetch-it/app
npm install
npm run dev
npm run build
npm run preview
npm run test
The app is deployed using GitHub Pages via a CI/CD workflow on the main branch: check it out!
- Import/export saved requests #3
- Collections to organize saved calls #4
- Postman/Insomnia file import support #5
- Advanced cURL customization (multiline, verbose) #6
- And more enhancements...
Contributions are welcome! To get started:
-
Fork the repository
-
Create your feature branch:
git checkout -b feature/my-great-feature
-
Create an issue to let people now in what your working on.
-
Commit your changes:
git commit -m 'add great feature #<issue-number>
- Push to the branch:
git push origin feature/my-great-feature
- Open a pull request.
Make sure to check the following guidelines