{"id":8856,"date":"2016-09-23T11:21:15","date_gmt":"2016-09-23T11:21:15","guid":{"rendered":"https:\/\/dev.railscarma.com\/generate-swagger-docs-rails-api\/"},"modified":"2024-01-10T13:06:39","modified_gmt":"2024-01-10T13:06:39","slug":"generare-api-per-guide-di-documenti-spavaldi","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/generare-api-per-guide-di-documenti-spavaldi\/","title":{"rendered":"Come generare un&#039;API Swagger Docs For Rails"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"8856\" class=\"elementor elementor-8856\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1881e8cb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1881e8cb\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7b5d3078\" data-id=\"7b5d3078\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-11b15946 elementor-widget elementor-widget-text-editor\" data-id=\"11b15946\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Creare API per un'applicazione Rails \u00e8 semplice per uno sviluppatore Ruby on Rails. In ogni caso, come fanno i diversi clienti a sapere se l'API funziona bene o no senza un'applicazione lato cliente? C'\u00e8 una risposta a questo problema che posso segnalare per le API all'interno dell'applicazione Rails? La risposta \u00e8 s\u00ec, abbiamo numerosi strumenti e metodologie, ma preferirei l'interfaccia utente swagger.<\/p>\n<p>In questo articolo spiegher\u00f2 come realizzare la documentazione delle API di Rails utilizzando l'interfaccia swagger.<\/p>\n<p>Prerequisiti:-<br>Utilizzer\u00f2 un'applicazione di esempio per i post che serve le chiamate API.<\/p>\n<p>Gemma:-<br>Per integrare l'interfaccia swagger per le API di Rails, sto usando una gemma chiamata swagger-docs. Aggiungete questo gemma al vostro Gemfile nell'applicazione e fate l'installazione del bundle.<\/p>\n<p>File inizializzatore di Swagger:-<br>Dopo il bundle della gemma, creare un inizializzatore in config\/initializers (ad esempio swagger.rb) e specificare le seguenti opzioni:<\/p>\n<pre><code>#File config\/initializers\/swagger.rb Swagger::Docs::Config.register_apis({ &quot;1.0&quot; =&gt; { # l&#039;estensione utilizzata per l&#039;API :api_extension_type =&gt; :json, # il percorso di output in cui vengono scritti i file .json a :api_file_path =&gt; &quot;public\/apidocs&quot;, # il percorso base dell&#039;URL della tua API :base_path =&gt; &quot;http:\/\/localhost:3000&quot;, # se desideri eliminare tutti i file .json ad ogni generazione :clean_directory =&gt; true, # aggiunge attributi personalizzati a api-docs :attributes =&gt; { :info =&gt; { &quot;title&quot; =&gt;; &quot;Titolo dell&#039;applicazione&quot;, &quot;description&quot; =&gt;; &quot;Documentazione API Rails con interfaccia utente Swagger.&quot;, &quot;termsOfServiceUrl &quot; =&gt; &quot;&quot;, &quot;contatto&quot; =&gt; &quot;&quot; } } } })\n<\/code><\/pre>\n<p>Fare riferimento all'url sottostante per l'elenco delle configurazioni<br>https:\/\/github.com\/richhollis\/swagger-docs#configuration-options<\/p>\n<p>swagger_controller e swagger_API sono helper per fornire la documentazione dell'interfaccia utente di swagger.<\/p>\n<pre><code>\nmodulo Api modulo V1 classe PostController &lt; ApplicationController rispondi_to :json swagger_controller :posts, &#039;Post Controller&#039; swagger_api :crea do summary &#039;Creazione di post&#039; note &#039;Dovrebbe essere utilizzato per creare post&#039; param :form, &#039;post[nome]&#039;, :string , :required, &#039;name&#039; param :form, &#039;post[pubblica]&#039;, :boolean, :required, &#039;pubblica&#039; end swagger_api :index do summary &#039;Ricevi tutti i post&#039; note &#039;Deve essere utilizzato per recuperare tutti i post&#039; param :header, :Authoraization, :string, :required, &#039;Authoraization&#039; risposta :risposta non autorizzata :ok, &quot;Success&quot; end swagger_api :mostra riepilogo &#039;Ricevi tutti i post&#039; note &#039;Dovrebbe essere utilizzato per recuperare un post&#039; param :path , :id, :string, :id risposta :risposta non autorizzata :ok, &quot;Successo&quot; end swagger_api :destroy do summary &#039;Distruggi il post&#039; notes &#039;Dovrebbe essere utilizzato per distruggere un post&#039; param :path, :id, :string, :id risposta :risposta non autorizzata :ok, &quot;Successo&quot; end end end end\n<\/code><\/pre>\n<p>Ex:-<\/p>\n<pre><code>param :header, :Authoraization, :string, :required, &#039;Per autorizzare le richieste.&#039; param :percorso, :id, :intero, :required, &#039;id post che dovrebbe recuperare il record&#039; param :form, :name, :string, :opzionale, &#039;nome del post&#039; param :query, :query_name, : stringa, :opzionale, &#039;nome query&#039;<\/code><\/pre>\n<p>param: parametro API standard<\/p>\n<pre><code> primo valore: tipo_parametro(tipi: modulo, percorso, intestazione, query) secondo valore: nome del parametro terzo valore: tipo di dati del parametro quarto valore: obbligatorio\/facoltativo quinto valore: breve descrizione del parametro sesto valore: elenco di valori in parentesi quadre per gestire le enumerazioni (opzionale)<\/code><\/pre>\n<p>Per gestire gli enum<br>Passare un elenco di valori enum.<br>Ex:-<\/p>\n<pre><code>param_list :form, :payment_type, :string, :required, &#039;tipo di pagamento&#039;, [:check, :cash, :wire_transfer, :demand_draft]<\/code><\/pre>\n<p>Generazione di file json<\/p>\n<p>rake swagger:docs (gli errori non vengono visualizzati per impostazione predefinita con questo comando)<\/p>\n<p>Per visualizzare tutti i messaggi di errore, utilizzare il comando seguente:<\/p>\n<pre><code>SD_LOG_LEVEL=1 spavalderia:docs<\/code><\/pre>\n<p>Integrazione dell'interfaccia utente Swagger<\/p>\n<p>Scaricare swagger ui.<br><a href=\"https:\/\/github.com\/richhollis\/swagger-docs-sample\/tree\/master\/public\/api\">https:\/\/github.com\/richhollis\/swagger-docs-sample\/tree\/master\/public\/api<\/a><\/p>\n<p>Prima di ci\u00f2, aggiungere il codice seguente a swagger.rb per<br>fare una distinzione tra i percorsi delle API e della documentazione delle API.<\/p>\n<pre><code>class Swagger::Docs::Config def self.transform_path(path, api_version) # Fare una distinzione tra le API e i percorsi della documentazione API. &quot;apidocs\/#{percorso}&quot; fine fine<\/code><\/pre>\n<p>Creare la cartella apidocs sotto public e la cartella api sotto apidocs.<\/p>\n<p>Copiare swagger-ui scaricato in public\/apidocs\/api e index.html in public\/apidocs.<\/p>\n<p>Modificare index.html<br>Cambiare l'url di swagger nella funzione window.swaggerUi in url: \"\/apidocs\/api-docs.json\".<br>Deve puntare al file api-docs.json sotto public\/apidocs.<br>Perch\u00e9 verr\u00e0 generato sotto quel percorso, secondo la configurazione definita in swagger.rb<\/p>\n<p>Ora siamo tutti pronti. SE si sta eseguendo il server fermare e riavviare il server rails. Andare nel browser e provare ad accedere a http:\/\/localhost:3000\/apidocs\/index\u00e2\u20ac. \u00c8 possibile fare clic sui collegamenti disponibili (mostra\/nascondi, Elenco operazioni, Espandi operazioni e Raw) su ogni risorsa (post ecc.):<\/p>\n<p><a href=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/swagger-doc-1.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-8859\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/swagger-doc-1.png\" alt=\"spavalderia-doc-1\" width=\"914\" height=\"386\"><\/a> <a href=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/swagger-doc-2.png\"><img decoding=\"async\" class=\"size-full wp-image-8857 aligncenter\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/swagger-doc-2.png\" alt=\"spavalderia-doc-2\" width=\"845\" height=\"519\"><\/a><\/p>\n<p>Leggi anche: <a href=\"\/it\/blog\/articoli-tecnici\/tenere-traccia-dei-cambiamenti-modelli-dati-traccia-cartacea-gemma\/\">Tieni traccia delle modifiche ai dati del tuo modello con Paper Trail Gem<\/a><\/p>\n<p>Leggi anche :&nbsp; <a href=\"\/it\/blog\/articoli-tecnici\/multi-tenant-architecture-postgresql-schemas\/\">Architettura multi-tenant con schemi PostgreSQL<\/a><\/p>\n<p>Vuoi saperne di pi\u00f9 sulle nostre capacit\u00e0 di sviluppo di Rails e sui progetti passati? <a href=\"\/it\/contattaci\/\">Mettiti in contatto<\/a> con noi adesso!&nbsp;&nbsp;<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1789a1ae elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1789a1ae\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4236301a\" data-id=\"4236301a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-102771c0 elementor-widget elementor-widget-heading\" data-id=\"102771c0\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Iscriviti per gli ultimi aggiornamenti<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2047a8b6 elementor-widget elementor-widget-shortcode\" data-id=\"2047a8b6\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"caricatore\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"d7f7626ab9\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"Indirizzo e-mail\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"Nome\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"sottoscrivi\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"it\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Articoli correlati<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Gemma Kaminari\" href=\"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/gemma-di-kaminari\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"gemma di Kaminari\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Gemma Kaminari\" href=\"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/gemma-di-kaminari\/?related_post_from=37277\">\r\n        Gemma Kaminari  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Perch\u00e9 assumere sviluppatori Ruby on Rails nel 2026?\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/perche-assumere-sviluppatori-di-ruby-on-rails\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"perch\u00e9 assumere sviluppatori di Ruby on Rails nel 2022\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Perch\u00e9 assumere sviluppatori Ruby on Rails nel 2026?\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/perche-assumere-sviluppatori-di-ruby-on-rails\/?related_post_from=30627\">\r\n        Perch\u00e9 assumere sviluppatori Ruby on Rails nel 2026?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Importanza dell&#039;architettura software nello sviluppo di software aziendale\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/importanza-dellarchitettura-software-nello-sviluppo-di-software-aziendale\/?related_post_from=36250\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Importanza dell&#039;architettura software nello sviluppo di software aziendale\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Importanza dell&#039;architettura software nello sviluppo di software aziendale\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/importanza-dellarchitettura-software-nello-sviluppo-di-software-aziendale\/?related_post_from=36250\">\r\n        Importanza dell&#039;architettura software nello sviluppo di software aziendale  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE: i migliori IDE per lo sviluppo di Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/ruby-ide-le-migliori-idee-per-lo-sviluppo-di-ruby-on-rails\/?related_post_from=36125\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"LE MIGLIORI IDEE PER LO SVILUPPO DI RUBY ON RAILS\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Ruby IDE: i migliori IDE per lo sviluppo di Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/ruby-ide-le-migliori-idee-per-lo-sviluppo-di-ruby-on-rails\/?related_post_from=36125\">\r\n        Ruby IDE: i migliori IDE per lo sviluppo di Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>Making API for a Rails application is simple for a Ruby on Rails developer. In any case, how different clients\/customers will know whether the API is working fine or not without a customer side application. Is there any answer for this which I can report for API inside the Rails application, The answer is yes &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/it\/blog\/ruby-regex-match-guide-with-examples\/\"> <span class=\"screen-reader-text\">Ruby Regex Match Guide (2026) with Examples<\/span> Leggi altro \"<\/a><\/p>","protected":false},"author":1,"featured_media":31864,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[],"class_list":["post-8856","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How To Generate a Swagger Docs For Rails API - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development<\/title>\n<meta name=\"description\" content=\"Making API for a Rails application is simple for a Ruby on Rails developer. In any case, how different clients\/customers will know whether the API is\" \/>\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.railscarma.com\/it\/blog\/articoli-tecnici\/generare-api-per-guide-di-documenti-spavaldi\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How To Generate a Swagger Docs For Rails API - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"og:description\" content=\"Making API for a Rails application is simple for a Ruby on Rails developer. In any case, how different clients\/customers will know whether the API is\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/generare-api-per-guide-di-documenti-spavaldi\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-09-23T11:21:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-10T13:06:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/how-to-generate-rails-api_1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"How To Generate a Swagger Docs For Rails API\",\"datePublished\":\"2016-09-23T11:21:15+00:00\",\"dateModified\":\"2024-01-10T13:06:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/\"},\"wordCount\":422,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/how-to-generate-rails-api_1.jpg\",\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/\",\"name\":\"How To Generate a Swagger Docs For Rails API - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/how-to-generate-rails-api_1.jpg\",\"datePublished\":\"2016-09-23T11:21:15+00:00\",\"dateModified\":\"2024-01-10T13:06:39+00:00\",\"description\":\"Making API for a Rails application is simple for a Ruby on Rails developer. In any case, how different clients\/customers will know whether the API is\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/how-to-generate-rails-api_1.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/how-to-generate-rails-api_1.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How To Generate a Swagger Docs For Rails API\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Come generare un&#039;API Swagger Docs For Rails - RailsCarma - Ruby on Rails Development Company specializzata nello sviluppo offshore","description":"Creare un&#039;API per un&#039;applicazione Rails \u00e8 semplice per uno sviluppatore Ruby on Rails. In ogni caso, in che modo i diversi clienti\/clienti sapranno se l&#039;API \u00e8","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.railscarma.com\/it\/blog\/articoli-tecnici\/generare-api-per-guide-di-documenti-spavaldi\/","og_locale":"it_IT","og_type":"article","og_title":"How To Generate a Swagger Docs For Rails API - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","og_description":"Making API for a Rails application is simple for a Ruby on Rails developer. In any case, how different clients\/customers will know whether the API is","og_url":"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/generare-api-per-guide-di-documenti-spavaldi\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2016-09-23T11:21:15+00:00","article_modified_time":"2024-01-10T13:06:39+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/how-to-generate-rails-api_1.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"Scritto da":"admin","Tempo di lettura stimato":"4 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"How To Generate a Swagger Docs For Rails API","datePublished":"2016-09-23T11:21:15+00:00","dateModified":"2024-01-10T13:06:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/"},"wordCount":422,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/how-to-generate-rails-api_1.jpg","articleSection":["Technical Articles"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/","url":"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/","name":"Come generare un&#039;API Swagger Docs For Rails - RailsCarma - Ruby on Rails Development Company specializzata nello sviluppo offshore","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/how-to-generate-rails-api_1.jpg","datePublished":"2016-09-23T11:21:15+00:00","dateModified":"2024-01-10T13:06:39+00:00","description":"Creare un&#039;API per un&#039;applicazione Rails \u00e8 semplice per uno sviluppatore Ruby on Rails. In ogni caso, in che modo i diversi clienti\/clienti sapranno se l&#039;API \u00e8","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/how-to-generate-rails-api_1.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/how-to-generate-rails-api_1.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/generate-swagger-docs-rails-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"How To Generate a Swagger Docs For Rails API"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Societ\u00e0 di sviluppo Ruby on Rails specializzata nello sviluppo offshore","description":"RailsCarma \u00e8 una societ\u00e0 di sviluppo Ruby on Rails a Bangalore. Siamo specializzati nello sviluppo offshore di Ruby on Rails con sede negli Stati Uniti e in India. Assumi sviluppatori esperti di Ruby on Rails per la migliore esperienza Web.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"amministratore","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/posts\/8856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/comments?post=8856"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/posts\/8856\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/media\/31864"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/media?parent=8856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/categories?post=8856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/tags?post=8856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}