{"id":25255,"date":"2024-01-09T12:29:18","date_gmt":"2024-01-09T11:29:18","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=25255"},"modified":"2024-01-25T12:24:35","modified_gmt":"2024-01-25T11:24:35","slug":"opendev-explorer-bruno-un-bassotto-a-caccia-di-api","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/","title":{"rendered":"OpenDev Explorer &#8211; Bruno: un bassotto a caccia di API"},"content":{"rendered":"\n<p>Benvenuti a OpenDev Explorer, la mia rubrica dedicata all&#8217;esplorazione del mondo Open Source che strizza un occchio alla developer experience. Io sono Riccardo (aka TheZal) e oggi vi parler\u00f2 di quello che potrebbe diventare il nuovo migliore amico di ogni backendista: Bruno, un bassotto a caccia di API.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-panoramica-generale\">Panoramica generale<\/h3>\n\n\n\n<p>Oggi facciamo la conoscenza di Bruno, un API Client con il logo di un bassotto che ha come obiettivo quello di ridefinire il paradigma degli API Client corrente, sfidando i colossi del settore come Postman.<\/p>\n\n\n\n<p>Ma cosa rende Bruno speciale? Quelle che lo differenzia dagli altri sono le sue caratteristiche tra cui: il focus sulla privacy, la semplicit\u00e0 d&#8217;uso, l&#8217;introduzione di un nuovo markup language per la documentazione delle api e l&#8217;attenzione rivolta alla Developer Experience, ma procediamo con ordine!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-manuale-d-istruzioni\">Manuale d&#8217;istruzioni<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-installazione\">Installazione<\/h4>\n\n\n\n<p>Bruno \u00e8 disponibile per Windows, macOS e Linux. Si pu\u00f2 scaricare dal <a href=\"https:\/\/www.usebruno.com\/\" class=\"ek-link\">sito ufficiale<\/a> o installarlo tramite il gestore di pacchetti del proprio sistema operativo usando uno dei seguenti comandi:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># Su Mac come Homebrew<\/span>\nbrew install bruno\n\n<span class=\"hljs-comment\"># Su Windows come Chocolatey<\/span>\nchoco install bruno\n\n<span class=\"hljs-comment\"># Su Linux tramite Snap<\/span>\nsnap install bruno\n\n<span class=\"hljs-comment\"># Su Linux tramite Apt<\/span>\nsudo mkdir -p \/etc\/apt\/keyrings\nsudo gpg --no-<span class=\"hljs-keyword\">default<\/span>-keyring --keyring \/etc\/apt\/keyrings\/bruno.gpg --keyserver keyserver.ubuntu.com --recv-keys <span class=\"hljs-number\">9<\/span>FA6017ECABE0266\n\n<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"deb &#91;signed-by=\/etc\/apt\/keyrings\/bruno.gpg] http:\/\/debian.usebruno.com\/ bruno stable\"<\/span> | sudo tee \/etc\/apt\/sources.<span class=\"hljs-keyword\">list<\/span>.d\/bruno.<span class=\"hljs-keyword\">list<\/span>\n\nsudo apt update\nsudo apt install bruno<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Inoltre \u00e8 disponibile anche come estensione per Visual Studio Code, cos\u00ec non dovrai lasciare il tuo IDE per intergaire con Bruno.<\/p>\n\n\n\n<p>L&#8217;utilizzo \u00e8 molto semplice, una volta importata la collection (che pu\u00f2 essere di diversi tipi come Postman, Insomnia, OpenAPI, ecc.) si pu\u00f2 iniziare a fare richieste alle API. Per farlo basta cliccare sul pulsante &#8220;Send&#8221; e Bruno si occuper\u00e0 di tutto il resto.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-l-utilizzo\">L&#8217;utilizzo<\/h4>\n\n\n\n<p>Bruno, come detto sopra, utilizza un nuovo markup language proprietario, ovvero Bru.<\/p>\n\n\n\n<p>Un semplicissimo esempio di un file Bru che fa una richiesta GET a un endpoint \u00e8 il seguente:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">meta {\n  <span class=\"hljs-attr\">name<\/span>: Repository Info\n  <span class=\"hljs-attr\">type<\/span>: http\n  <span class=\"hljs-attr\">seq<\/span>: <span class=\"hljs-number\">2<\/span>\n}\n\n<span class=\"hljs-keyword\">get<\/span> {\n  <span class=\"hljs-attr\">url<\/span>: {{baseUrl}}\/repos\/usebruno\/bruno\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Come si pu\u00f2 notare, il file \u00e8 diviso in due sezioni: <code>meta<\/code> e <code>get<\/code>. La prima contiene le informazioni generali sulla richiesta, mentre la seconda contiene le informazioni specifiche per la richiesta GET. In questo caso, la richiesta viene fatta all&#8217;endpoint <code>{{baseUrl}}\/repos\/usebruno\/bruno<\/code> dove <code>{{baseUrl}}<\/code> \u00e8 una variabile definita dall&#8217;enviroment scelto nella gui di Bruno che verr\u00e0 sostituita con il valore corretto al momento dell&#8217;esecuzione.<\/p>\n\n\n\n<p>L&#8217;esempio \u00e8 preso direttamente dal loro repository di esempio su github disponibile <a href=\"https:\/\/github.com\/usebruno\/github-rest-api-collection\" class=\"ek-link\">qui<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-la-developer-experience\"><strong>La developer experience<\/strong><\/h3>\n\n\n\n<p>La developer experience con Bruno si distingue per l&#8217;uso innovativo del linguaggio Bru e per l&#8217;approccio al versioning della documentazione delle API. Bru \u00e8 un linguaggio di markup progettato specificatamente per il caso d&#8217;uso di Bruno e offre un modo efficiente e intuitivo per salvare le informazioni relative alle richieste API. Questo linguaggio, essendo plain text, si integra perfettamente con i sistemi di controllo versione come Git, permettendo agli sviluppatori di collaborare facilmente sulle API Collection.<\/p>\n\n\n\n<p>Il versioning della documentazione delle API \u00e8 reso semplice e trasparente grazie a questa integrazione con i sistemi di version control. Gli sviluppatori possono tracciare le modifiche, collaborare e mantenere le versioni delle loro API collection in modo efficiente, garantendo che la documentazione sia sempre aggiornata e sincronizzata con l&#8217;ultima versione del codice. Questo approccio enfatizza l&#8217;importanza della privacy dei dati e la sicurezza, mantenendo tutte le informazioni in locale senza piani per una sincronizzazione cloud, in linea con la visione a lungo termine di Bruno per la privacy dei dati.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-l-extra-mile\">L&#8217;extra mile<\/h2>\n\n\n\n<p>L&#8217;extra mile di Bruno \u00e8 rappresentato dalla sua attenzione alla privacy. Bruno \u00e8 un software open source che non richiede alcuna registrazione e non necessita di piani per una sincronizzazione cloud. Tutti i dati vengono salvati in locale e non vengono mai inviati a nessun server esterno. Questo garantisce la privacy dei dati e la sicurezza, mantenendo tutte le informazioni in locale coerentemente in linea con la visione a lungo termine di Bruno per la privacy dei dati.<\/p>\n\n\n\n<p>Per saperne di pi\u00f9 sulla long-term vision di Bruno, \u00e8 possibile leggere il <a href=\"https:\/\/github.com\/usebruno\/bruno\/discussions\/269\" class=\"ek-link\">post su github<\/a> dedicato.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-il-confronto-con-lo-status-quo\"><strong>Il confronto con lo status quo<\/strong><\/h2>\n\n\n\n<p>Bruno vuole quindi andare a ridefinire ci\u00f2 che \u00e8 attualmente lo standard per un API Client. Per farlo Bruno si concentra su alcuni punti chiave che andremo ad analizzare.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-come-e-dove-vengono-salvate-le-collection\"><strong>Come e dove vengono salvate le collection<\/strong><\/h3>\n\n\n\n<p>A differenza di Postman, Bruno decentralizza la gestione delle collection. Ci\u00f2 significa che non esiste un unico file, ma \u00e8 possibile salvarle in file separati permettendo di avere una migliore gestione, soprattutto quando si lavora in team. Bruno salva le collection in locale e grazie a questa scelta, \u00e8 possibile utilizzare Git per tenere traccia delle modifiche, delle versioni e collaborare facilmente con altri sviluppatori.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-come-vengono-effettuate-le-richieste-api\"><strong>Come vengono effettuate le richieste API<\/strong><\/h3>\n\n\n\n<p>L&#8217;applicazione web di Postman effettua richieste API utilizzando un server proxy proprietario, ci\u00f2 implica che non hai il controllo sui tuoi dati e sei obbligato a utilizzare il loro server proxy per effettuare le richieste API, rappresentando un considerevole rischio per la sicurezza.<\/p>\n\n\n\n<p>Bruno, invece, effettua richieste API direttamente dal tuo computer, offrendoti il pieno controllo sui tuoi dati e eliminando il rischio di sicurezza associato all&#8217;utilizzo di un server proxy.<\/p>\n\n\n\n<p>Postman richiede quindi di essere connesso a internet, invece Bruno funziona offline, permettendoti di lavorare anche quando non sei connesso a internet.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-team-collaboration\"><strong>Team collaboration<\/strong><\/h3>\n\n\n\n<p>Postman offre una funzionalit\u00e0 di collaborazione a pagamento per team, con un costo di partenza di $15 al mese per utente (dopo la versione gratuita per 3 utenti). Al contrario, Bruno \u00e8 completamente gratuito e open source. Puoi utilizzare Git o qualsiasi sistema di controllo delle versioni preferito per collaborare sulle tue raccolte API, senza alcun costo associato. Questa differenza sostanziale nella politica di prezzo rende Bruno un&#8217;opzione accessibile e aperta per la collaborazione sui progetti API.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-tiriamo-le-somme\"><strong>Tiriamo le somme!<\/strong><\/h2>\n\n\n\n<p>Bruno quindi \u00e8 un API Client open source che si propone di ridefinire il paradigma degli API Client corrente, sfidando i colossi del settore come Postman da cui si distingue per il suo approccio alla privacy, per la semplicit\u00e0 d&#8217;uso e per l&#8217;attenzione rivolta alla developer experience. <\/p>\n\n\n\n<p>Bruno \u00e8 disponibile per Windows, macOS e Linux e si pu\u00f2 scaricare dal <a href=\"https:\/\/www.usebruno.com\/\" class=\"ek-link\">sito ufficiale<\/a> o installarlo tramite il gestore di pacchetti del proprio sistema operativo.<\/p>\n\n\n\n<p>Darete una chance a Bruno? Qui \u00e8 TheZal che vi saluta e vi aspetta al prossimo episodio di OpenDev Explorer!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Benvenuti a OpenDev Explorer, la mia rubrica dedicata all&#8217;esplorazione del mondo Open Source che strizza un occchio alla developer experience. Io sono Riccardo (aka TheZal) e oggi vi parler\u00f2 di quello che potrebbe diventare il nuovo migliore amico di ogni backendista: Bruno, un bassotto a caccia di API. Panoramica generale Oggi facciamo la conoscenza di&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/\">Read more<\/a><\/p>\n","protected":false},"author":193,"featured_media":25267,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10444],"tags":[11667],"collections":[11708],"class_list":{"0":"post-25255","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-open-source","8":"tag-opendev-explorer","9":"collections-dalla-community","10":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>OpenDev Explorer - Bruno: un bassotto a caccia di API - Codemotion Magazine<\/title>\n<meta name=\"description\" content=\"Oggi facciamo la conoscenza di Bruno, un API Client con il logo di un bassotto che ha come obiettivo quello di ridefinire il paradigma degli API Client corrente, sfidando i colossi del settore come Postman.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OpenDev Explorer - Bruno: un bassotto a caccia di API\" \/>\n<meta property=\"og:description\" content=\"Oggi facciamo la conoscenza di Bruno, un API Client con il logo di un bassotto che ha come obiettivo quello di ridefinire il paradigma degli API Client corrente, sfidando i colossi del settore come Postman.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-09T11:29:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-25T11:24:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1152\" \/>\n\t<meta property=\"og:image:height\" content=\"896\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"TheZal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TheZal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/open-source\\\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/open-source\\\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\\\/\"},\"author\":{\"name\":\"TheZal\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/f3f099160f0d8f2f80c5e4f3c8d53503\"},\"headline\":\"OpenDev Explorer &#8211; Bruno: un bassotto a caccia di API\",\"datePublished\":\"2024-01-09T11:29:18+00:00\",\"dateModified\":\"2024-01-25T11:24:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/open-source\\\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\\\/\"},\"wordCount\":968,\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/open-source\\\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/cover_bruno-min.png\",\"keywords\":[\"OpenDev Explorer\"],\"articleSection\":[\"Open source\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/open-source\\\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/open-source\\\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\\\/\",\"name\":\"OpenDev Explorer - Bruno: un bassotto a caccia di API - Codemotion Magazine\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/open-source\\\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/open-source\\\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/cover_bruno-min.png\",\"datePublished\":\"2024-01-09T11:29:18+00:00\",\"dateModified\":\"2024-01-25T11:24:35+00:00\",\"description\":\"Oggi facciamo la conoscenza di Bruno, un API Client con il logo di un bassotto che ha come obiettivo quello di ridefinire il paradigma degli API Client corrente, sfidando i colossi del settore come Postman.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/open-source\\\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/open-source\\\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/open-source\\\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/cover_bruno-min.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/cover_bruno-min.png\",\"width\":1152,\"height\":896,\"caption\":\"OpenDev Explorer\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/open-source\\\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Open source\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/open-source\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"OpenDev Explorer &#8211; Bruno: un bassotto a caccia di API\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Codemotion.Italy\\\/\",\"https:\\\/\\\/x.com\\\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/f3f099160f0d8f2f80c5e4f3c8d53503\",\"name\":\"TheZal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/avatar-100x100.png\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/avatar-100x100.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/avatar-100x100.png\",\"caption\":\"TheZal\"},\"description\":\"Hello there! My name is Riccardo (aka TheZal), a passionate software engineer who loves to combine his passion for code with his love for fantasy realms like Dungeons and Dragons, Harry Potter, Star Wars, LOTR, etc., etc. I'm really into studying and exploring new technologies (with a lot of love for Open Source). I'm also a co-owner of a 12-year-old dachshund called Poldo, who is the mascot of my blog!\",\"sameAs\":[\"http:\\\/\\\/www.thezal.dev\"],\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/author\\\/thezal\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"OpenDev Explorer - Bruno: un bassotto a caccia di API - Codemotion Magazine","description":"Oggi facciamo la conoscenza di Bruno, un API Client con il logo di un bassotto che ha come obiettivo quello di ridefinire il paradigma degli API Client corrente, sfidando i colossi del settore come Postman.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/","og_locale":"en_US","og_type":"article","og_title":"OpenDev Explorer - Bruno: un bassotto a caccia di API","og_description":"Oggi facciamo la conoscenza di Bruno, un API Client con il logo di un bassotto che ha come obiettivo quello di ridefinire il paradigma degli API Client corrente, sfidando i colossi del settore come Postman.","og_url":"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2024-01-09T11:29:18+00:00","article_modified_time":"2024-01-25T11:24:35+00:00","og_image":[{"width":1152,"height":896,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min.png","type":"image\/png"}],"author":"TheZal","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"TheZal","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/"},"author":{"name":"TheZal","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f3f099160f0d8f2f80c5e4f3c8d53503"},"headline":"OpenDev Explorer &#8211; Bruno: un bassotto a caccia di API","datePublished":"2024-01-09T11:29:18+00:00","dateModified":"2024-01-25T11:24:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/"},"wordCount":968,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min.png","keywords":["OpenDev Explorer"],"articleSection":["Open source"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/","url":"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/","name":"OpenDev Explorer - Bruno: un bassotto a caccia di API - Codemotion Magazine","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min.png","datePublished":"2024-01-09T11:29:18+00:00","dateModified":"2024-01-25T11:24:35+00:00","description":"Oggi facciamo la conoscenza di Bruno, un API Client con il logo di un bassotto che ha come obiettivo quello di ridefinire il paradigma degli API Client corrente, sfidando i colossi del settore come Postman.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min.png","width":1152,"height":896,"caption":"OpenDev Explorer"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/opendev-explorer-bruno-un-bassotto-a-caccia-di-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Open source","item":"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/"},{"@type":"ListItem","position":3,"name":"OpenDev Explorer &#8211; Bruno: un bassotto a caccia di API"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f3f099160f0d8f2f80c5e4f3c8d53503","name":"TheZal","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/avatar-100x100.png","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/avatar-100x100.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/avatar-100x100.png","caption":"TheZal"},"description":"Hello there! My name is Riccardo (aka TheZal), a passionate software engineer who loves to combine his passion for code with his love for fantasy realms like Dungeons and Dragons, Harry Potter, Star Wars, LOTR, etc., etc. I'm really into studying and exploring new technologies (with a lot of love for Open Source). I'm also a co-owner of a 12-year-old dachshund called Poldo, who is the mascot of my blog!","sameAs":["http:\/\/www.thezal.dev"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/thezal\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min-600x400.png","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min-600x600.png","author_info":{"display_name":"TheZal","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/thezal\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min.png",1152,896,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min-150x150.png",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min-300x233.png",300,233,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min-768x597.png",768,597,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min-1024x796.png",1024,796,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min.png",1152,896,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min.png",1152,896,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min-100x100.png",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min-180x128.png",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min-896x504.png",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min-400x225.png",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min-600x400.png",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/cover_bruno-min-600x600.png",600,600,true]},"uagb_author_info":{"display_name":"TheZal","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/thezal\/"},"uagb_comment_info":0,"uagb_excerpt":"Benvenuti a OpenDev Explorer, la mia rubrica dedicata all&#8217;esplorazione del mondo Open Source che strizza un occchio alla developer experience. Io sono Riccardo (aka TheZal) e oggi vi parler\u00f2 di quello che potrebbe diventare il nuovo migliore amico di ogni backendista: Bruno, un bassotto a caccia di API. Panoramica generale Oggi facciamo la conoscenza di&#8230;&hellip;","lang":"it","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/25255","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/193"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=25255"}],"version-history":[{"count":1,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/25255\/revisions"}],"predecessor-version":[{"id":25269,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/25255\/revisions\/25269"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/25267"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=25255"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=25255"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=25255"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=25255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}