Insomnia — HTTP πελάτης επιτραπέζιου υπολογιστή ανοιχτού κώδικα για δοκιμή REST, GraphQL και WebSocket API. Το εργαλείο διακρίνεται για το μινιμαλιστικό περιβάλλον εργασίας, τον ενσωματωμένο επεξεργαστή αιτημάτων και την υποστήριξη μεταβλητών περιβάλλοντος χωρίς να απαιτείται εγγραφή. Σύμφωνα με τα Insomnia Documentation (2026), ο πελάτης υποστηρίζει αυτόματη δημιουργία κώδικα σε πάνω από 20 γλώσσες προγραμματισμού.
Βασικά Σημεία
Insomnia — εφαρμογή πολλαπλών πλατφορμών (Electron) για αποστολή HTTP αιτημάτων και αποσφαλμάτωση API. Αναπτύσσεται από την εταιρεία Kong από το 2016 ως εναλλακτική λύση στο Postman με έμφαση στην ταχύτητα εργασίας και την εμπιστευτικότητα: τα δεδομένα αποθηκεύονται τοπικά, ο συγχρονισμός στο cloud είναι προαιρετικός και απαιτεί εγγραφή.
Το κύριο παράθυρο χωρίζεται σε τρεις στήλες: αριστερά — το δέντρο αιτημάτων (Workspace), στο κέντρο — ο επεξεργαστής αιτημάτων με τις καρτέλες Params, Headers, Body, δεξιά — ο πίνακας απόκρισης με τις λειτουργίες Pretty, Raw και Preview. Το σκούρο θέμα είναι ενεργοποιημένο από προεπιλογή, και υποστηρίζονται προσαρμοσμένα θέματα μέσω μεταβλητών CSS.
Το Insomnia υποστηρίζει εξαγωγή αιτήματος σε κώδικα σε πάνω από 20 γλώσσες και πλαίσια: cURL, HTTPie, Python Requests, JavaScript Fetch/Axios, Kotlin OkHttp, Swift URLSession, Java Unirest, Ruby Net::HTTP και άλλα. Ο γεννήτορας λαμβάνει υπόψη τις κεφαλίδες, το σώμα του αιτήματος και τον τύπο ταυτοποίησης, γεγονός που επιταχύνει την ενσωμάτωση του API στον κώδικα της εφαρμογής.
Insomnia και Postman επιλύουν την ίδια εργασία, αλλά με διαφορετικές προτεραιότητες. Το Insomnia είναι πιο ελαφρύ (~80 MB έναντι ~300 MB), εκκινεί πιο γρήγορα και λειτουργεί πλήρως εκτός σύνδεσης χωρίς να επιβάλλει εγγραφή. Το Postman προσφέρει πιο ώριμο οικοσύστημα με παρακολούθηση, mock διακομιστές και ομαδικά workspace.
| Κριτήριο | Insomnia | Postman |
|---|---|---|
| Βάρος εφαρμογής | ~80 MB | ~300 MB |
| Λειτουργία εκτός σύνδεσης | Πλήρης | Περιορισμένη |
| GraphQL | Ενσωματωμένος επεξεργαστής | Έκδοση beta |
| CLI | Inso CLI | Newman |
| Πρόσθετα | Plugin Hub | Επεκτάσεις |
Για ατομική ανάπτυξη και γρήγορη δοκιμή endpoint, το Insomnia είναι πιο βολικό χάρη στην ελαφρότητά του και στην απουσία εγγραφής. Για ομαδική εργασία με κοινή συλλογή, ενσωμάτωση CI/CD και παρακολούθηση API παραγωγής, το Postman παραμένει το πρότυπο του κλάδου.
Workspace στο Insomnia περιέχει το δέντρο αιτημάτων, χωρισμένο σε φακέλους. Κάθε αίτημα μπορεί να είναι τύπου HTTP, GraphQL, WebSocket ή gRPC. Υποστηρίζεται η μεταφορά, ο διπλασιασμός και η ομαδοποίηση αιτημάτων κατά έγχρωμες ετικέτες. Το αρχείο διαμόρφωσης του workspace αποθηκεύεται σε μορφή JSON.
Το Insomnia υποστηρίζει ένθετα περιβάλλοντα (Sub Environments) που κληρονομούν τις μεταβλητές του γονέα. Αυτό επιτρέπει τον ορισμό βασικού URL στο καθολικό περιβάλλον και την επαναδιαγραφή μόνο των διαφορετικών παραμέτρων για διαφορετικά περιβάλλοντα. Οι μεταβλητές αντικαθίστανται μέσω της σύνταξης {`{`}_variable${`}`}.
// Παράδειγμα δομής περιβάλλοντος Insomnia
{
"base_url": "https://api.example.com",
"timeout": 5000,
"headers": {
"Content-Type": "application/json",
"Accept": "application/json"
}
}Insomnia παρέχει έναν από τους καλύτερους επεξεργαστές GraphQL μεταξύ των πελατών API. Η καρτέλα GraphQL Query επιτρέπει τη σύνταξη αιτημάτων με αυτόματη συμπλήρωση πεδίων βάσει του φορτωμένου σχήματος. Δεξιά εμφανίζεται σε πραγματικό χρόνο η τεκμηρίωση των τύπων, των πεδίων και των ορισμάτων.
Το σχήμα φορτώνεται μέσω αιτήματος GraphQL Introspection προς το endpoint. Το Insomnia αποθηκεύει το σχήμα τοπικά στην κρυφή μνήμη και το ενημερώνει αυτόματα στις αλλαγές. Μετά τη φόρτωση διατίθενται αυτόματη συμπλήρωση (Ctrl+Space), επικύρωση αιτήματος και προεπισκόπηση πιθανών σφαλμάτων πριν από την αποστολή.
# Αίτημα GraphQL με μεταβλητές στο Insomnia
query GetUser($id: ID!) {
user(id: $id) {
name
email
posts {
title
createdAt
}
}
}Insomnia Plugin Hub περιέχει περισσότερα από 100 πρόσθετα που επεκτείνουν τη λειτουργικότητα του πελάτη. Τα πρόσθετα εγκαθίστανται μέσω του μενού Preferences → Plugins ή χειροκίνητα μέσω npm. Οι δημοφιλείς κατηγορίες περιλαμβάνουν δημιουργία δοκιμαστικών δεδομένων, εξαγωγή σε διάφορες μορφές και προσαρμοσμένους ελεγκτές απόκρισης. Κάθε πρόσθετο περνά από υποχρεωτική εποπτεία πριν από τη δημοσίευση στον κοινό κόμβο προγραμματιστών.
Τα πρόσθετα γράφονται σε JavaScript και αλληλεπιδρούν με το Insomnia μέσω του API προτύπων (response.*, request.*, environment.*). Η ανάπτυξη πρόσθετου απαιτεί βασικές γνώσεις Node.js και δημοσίευση μέσω πακέτου npm με ετικέτα insomnia-plugin.
Inso CLI — εργαλείο κονσόλας ενσωματωμένο στο Insomnia για την εκτέλεση αιτημάτων και δοκιμών από το τερματικό. Το Inso εκτελεί μεμονωμένα αιτήματα ή ολόκληρες συλλογές, εξάγει αποτελέσματα σε JSON και μπορεί να ενσωματωθεί σε αγωγούς CI/CD. Η εντολή inso run collection εκτελεί διαδοχικά όλα τα αιτήματα της συλλογής.
Το Inso CLI λειτουργεί σε κοντέινερ Docker και σε λειτουργία headless, γεγονός που επιτρέπει τη χρήση του σε GitHub Actions και GitLab CI. Η διαμόρφωση εκτέλεσης περιγράφεται σε αρχείο YAML με αναφορά της διαδρομής προς την εξαγόμενη συλλογή και το περιβάλλον. Υποστηρίζονται ισχυρισμοί στον κωδικό κατάστασης και στο σώμα απόκρισης μέσω σεναρίων JavaScript.
# Workflow GitHub Actions με Inso CLI
- name: Run API tests
run: npx insomnia-inso run collection
--collection "Auth API"
--env "Staging"
--reporter junit
--output reports/api-results.xmlInsomnia υποστηρίζει συγχρονισμό συλλογών μέσω Git. Τα αρχεία συλλογών αποθηκεύονται σε μορφή JSON και μπορούν να προστεθούν στο αποθετήριο του έργου. Το Insomnia παρέχει ενσωματωμένο Git πελάτη για προβολή αλλαγών, δημιουργία commits και επίλυση συγκρούσεων συγχώνευσης απευθείας από το περιβάλλον εργασίας.
Για να συνδέσετε το Git, δημιουργήστε τοπικό φάκελο με αποθετήριο και ορίστε τον ως ριζικό κατάλογο στις ρυθμίσεις του Insomnia. Η εφαρμογή παρακολουθεί αυτόματα τις αλλαγές στα αρχεία συλλογής και τις εμφανίζει στον πίνακα Version Control. Υποστηρίζονται τυπικές λειτουργίες: commit, push, pull και προβολή diff μεταξύ εκδόσεων.
Για έργα χωρίς Git, το Insomnia προσφέρει συγχρονισμό στο cloud μέσω Insomnia Cloud. Το δωρεάν πρόγραμμα περιλαμβάνει έως 3 μέλη ομάδας και αυτόματη δημιουργία αντιγράφων ασφαλείας των συλλογών. Τα πληρωμένα προγράμματα προσθέτουν διαχείριση πρόσβασης, έλεγχο αλλαγών και υποστήριξη προτεραιότητας.
| Μέθοδος συγχρονισμού | Δωρεάν | Εκτός σύνδεσης | Έλεγχος εκδόσεων |
|---|---|---|---|
| Git (τοπικό) | Ναι | Ναι | Πλήρης (commit, diff, merge) |
| Insomnia Cloud | Έως 3 χρήστες | Όχι | Βασικός (ιστορικό αλλαγών) |
| Εξαγωγή αρχείων | Ναι | Ναι | Χειροκίνητη (μέσω συστήματος ελέγχου εκδόσεων) |
Design Mode στο Insomnia επιτρέπει τη δημιουργία προδιαγραφών API σε μορφή OpenAPI 3.0. Η λειτουργία λειτουργεί ως οπτικός επεξεργαστής: ορίστε endpoints και σχήματα δεδομένων χωρίς να γράφετε YAML χειροκίνητα. Η προδιαγραφή μπορεί να εξαχθεί σε JSON ή YAML.
Το Insomnia εισάγει προδιαγραφές OpenAPI και δημιουργεί συλλογή αιτημάτων για κάθε endpoint. Οι διαδρομές και τα σχήματα μετατρέπονται σε έτοιμα HTTP αιτήματα. Η λειτουργία είναι χρήσιμη κατά την ενσωμάτωση με μικροϋπηρεσίες, όπου η προδιαγραφή αποθηκεύεται σε ξεχωριστό αποθετήριο της ομάδας.
Σε κάθε αίτημα μπορεί να αποδοθεί έγχρωμη ετικέτα: red, blue, green, orange, purple. Το φιλτράρισμα κατά ετικέτες λειτουργεί μέσω της γραμμής αναζήτησης ανεξάρτητα από τη δομή των φακέλων, γεγονός που απλοποιεί την πλοήγηση σε έργα με εκατοντάδες endpoints και πολλά δομοστοιχεία.
Design Mode στο Insomnia επιτρέπει τη δημιουργία προδιαγραφών API σε μορφή OpenAPI 3.0 απευθείας μέσα στην εφαρμογή. Η λειτουργία λειτουργεί ως οπτικός επεξεργαστής: ορίστε endpoints, σχήματα δεδομένων και παραμέτρους χωρίς να γράφετε YAML χειροκίνητα. Η προδιαγραφή μπορεί να εξαχθεί σε JSON ή YAML για δημοσίευση στο αποθετήριο.
Το Insomnia εισάγει υπάρχουσες προδιαγραφές OpenAPI και δημιουργεί αυτόματα συλλογή αιτημάτων για κάθε endpoint. Οι διαδρομές και τα σχήματα μετατρέπονται σε έτοιμα HTTP αιτήματα με σωστούς τύπους δεδομένων. Αυτή η λειτουργία είναι χρήσιμη κατά την ενσωμάτωση με μικροϋπηρεσίες, όπου η προδιαγραφή αποθηκεύεται και συντηρείται από ξεχωριστή ομάδα προγραμματιστών backend.
Για την οργάνωση μεγάλου αριθμού αιτημάτων, το Insomnia υποστηρίζει επισήμανση — σε κάθε αίτημα μπορεί να αποδοθεί έγχρωμη ετικέτα: red, blue, green, orange, purple. Το φιλτράρισμα κατά ετικέτες λειτουργεί μέσω της γραμμής αναζήτησης ανεξάρτητα από τη δομή των φακέλων, γεγονός που απλοποιεί την πλοήγηση σε έργα με εκατοντάδες endpoints και πολλά λειτουργικά δομοστοιχεία API.
Συχνές Ερωτήσεις
Όχι, η εγγραφή δεν είναι υποχρεωτική. Το Insomnia λειτουργεί πλήρως εκτός σύνδεσης. Ο συγχρονισμός στο cloud διατίθεται ως επιλογή για ομαδική εργασία, αλλά όλα τα δεδομένα αποθηκεύονται τοπικά σε αρχεία JSON στο φάκελο ~/.config/Insomnia/.
Εξάγετε τη συλλογή από το Postman σε μορφή JSON (Collection v2.1). Στο Insomnia επιλέξτε Import/Export → Import Data → From File. Το Insomnia μετατρέπει αυτόματα τη συλλογή διατηρώντας τα αιτήματα, τις κεφαλίδες και τις μεταβλητές περιβάλλοντος.
Ναι, από την έκδοση 2022. Το Insomnia υποστηρίζει τα πρωτόκολλα WebSocket και Socket.IO. Δημιουργήστε νέο αίτημα τύπου WebSocket, καθορίστε το URL (ws:// ή wss://) και στείλτε μηνύματα μέσω της διεπαφής συνομιλίας.
Inso CLI — εγγενές εργαλείο του Insomnia για εκτέλεση συλλογών από την κονσόλα. Το Newman είναι το αντίστοιχο για το Postman. Το Inso είναι πιο ελαφρύ, δεν απαιτεί ξεχωριστή εγκατάσταση (παρέχεται με το Insomnia) και υποστηρίζει όλους τους τύπους αιτημάτων του Insomnia, συμπεριλαμβανομένου του GraphQL.
Ναι, το Insomnia υποστηρίζει αιτήματα gRPC μέσω της καρτέλας gRPC. Απαιτείται η φόρτωση αρχείου .proto με τον ορισμό της υπηρεσίας. Μετά τη φόρτωση, το Insomnia εμφανίζει τις διαθέσιμες μεθόδους RPC και δημιουργεί δυαδικό μήνυμα Protobuf για αποστολή.
Συμπεράσματα
Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση
Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.
Διαβάστε επίσης