Skip to content

Commit

Permalink
Deployed 9d95127 with MkDocs version: 1.6.1
Browse files Browse the repository at this point in the history
  • Loading branch information
dunossauro committed Jan 9, 2025
1 parent 1b87943 commit f52d923
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 9 deletions.
12 changes: 6 additions & 6 deletions 02/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2260,7 +2260,7 @@ <h5 id="verbos">Verbos</h5>
</span></span><span id="__span-7-6"><a id="__codelineno-7-6" name="__codelineno-7-6"></a><span class="k">def</span><span class="w"> </span><span class="nf">read_root</span><span class="p">():</span>
</span><span id="__span-7-7"><a id="__codelineno-7-7" name="__codelineno-7-7"></a> <span class="k">return</span> <span class="p">{</span><span class="s1">'message'</span><span class="p">:</span> <span class="s1">'Olá Mundo!'</span><span class="p">}</span>
</span></code></pre></div></td></tr></table></div>
<p>Quando realizamos a requisição via navegador, o verbo padrão é o GET. Por isso, obtemos na tela a mensagem <code>{'message': 'Olá Mundo!'}</code>.</p>
<p>Quando realizamos a requisição via navegador, o verbo padrão é o GET. Por isso, obtemos na tela a mensagem <code class="language-python highlight"><span class="p">{</span><span class="s1">'message'</span><span class="p">:</span> <span class="s1">'Olá Mundo!'</span><span class="p">}</span></code>.</p>
<p><a class="glightbox" href="../assets/02/nagevador_com_localhost.png" data-type="image" data-width="auto" data-height="auto" data-desc-position="bottom"><img alt='Captura de tela do navegador acessando "http://127.0.0.1"' class="center shadow" src="../assets/02/nagevador_com_localhost.png"></a></p>
<p>Essa é exatamente a resposta fornecida pela execução da função <code>read_root</code>. No futuro, criaremos funções para lidar com os outros verbos HTTP.</p>
<h5 id="codigos-de-resposta">Códigos de resposta</h5>
Expand Down Expand Up @@ -2337,7 +2337,7 @@ <h6 id="o-lado-do-servidor">O lado do servidor</h6>
<h4 id="html">HTML</h4>
<div class="admonition example">
<p class="admonition-title">Sobre o código apresentado nesse tópico!</p>
<p>Todo o código apresentado neste tópico é apenas um exemplo básico do uso de HTML com FastAPI e não será utilizado no curso. No entanto, é extremamente importante mencionar este tópico.</p>
<p>Todo o código apresentado neste tópico é apenas um exemplo básico do uso de HTML com FastAPI e não será utilizado no curso. No entanto, é extremamente importante mencionar este tópico. <strong>Para uma visão um pouco mais aprofundada, temos um <a href="/apendices/b_proximos_passos/#templates" target="_blank">tópico no apêndice B</a> focado em html + css.</strong></p>
<p>Embora este tópico abranja apenas HTML puro, o FastAPI pode utilizar <a href="https://jinja.palletsprojects.com/" target="_blank">Jinja</a> como sistema de templates para uma aplicação mais eficiente.</p>
<details class="tip">
<summary>Interessado em aprender sobre a aplicação de templates?</summary>
Expand All @@ -2346,8 +2346,8 @@ <h4 id="html">HTML</h4>
</details>
<p>A documentação do FastAPI também oferece um tópico focado em <a href="https://fastapi.tiangolo.com/pt/advanced/templates/" target="_blank">Templates</a>.</p>
</div>
<p>O terceiro pilar fundamental da web é o HTML, sigla para <em>Hypertext Markup Language</em>. Trata-se da linguagem de marcação padrão usada para criar e estruturar páginas na internet. Quando acessamos um site, o que vemos em nossos navegadores é o resultado da interpretação do HTML. Esta linguagem utiliza uma série de 'tags' – como <code>&lt;html&gt;</code>, <code>&lt;head&gt;</code>, <code>&lt;body&gt;</code>, <code>&lt;h1&gt;</code>, <code>&lt;p&gt;</code> e outras – para definir a estrutura e o conteúdo de uma página web.</p>
<p>A beleza do HTML reside em sua simplicidade e eficácia. Mais do que uma linguagem, é uma forma de organizar e apresentar informações na web. Cada tag tem um propósito específico: <code>&lt;h1&gt;</code> a <code>&lt;h6&gt;</code> são usadas para títulos e subtítulos; <code>&lt;p&gt;</code> para parágrafos; <code>&lt;a&gt;</code> para links; enquanto <code>&lt;div&gt;</code> e <code>&lt;span&gt;</code> auxiliam na organização e estilo do conteúdo. Juntas, essas tags formam a espinha dorsal de quase todas as páginas da internet.</p>
<p>O terceiro pilar fundamental da web é o HTML, sigla para <em>Hypertext Markup Language</em>. Trata-se da linguagem de marcação padrão usada para criar e estruturar páginas na internet. Quando acessamos um site, o que vemos em nossos navegadores é o resultado da interpretação do HTML. Esta linguagem utiliza uma série de 'tags' – como <code class="language-html highlight"><span class="p">&lt;</span><span class="nt">html</span><span class="p">&gt;</span></code>, <code class="language-html highlight"><span class="p">&lt;</span><span class="nt">head</span><span class="p">&gt;</span></code>, <code class="language-html highlight"><span class="p">&lt;</span><span class="nt">body</span><span class="p">&gt;</span></code>, <code class="language-html highlight"><span class="p">&lt;</span><span class="nt">h1</span><span class="p">&gt;</span></code>, <code class="language-html highlight"><span class="p">&lt;</span><span class="nt">p</span><span class="p">&gt;</span></code> e outras – para definir a estrutura e o conteúdo de uma página web.</p>
<p>A beleza do HTML reside em sua simplicidade e eficácia. Mais do que uma linguagem, é uma forma de organizar e apresentar informações na web. Cada tag tem um propósito específico: <code class="language-html highlight"><span class="p">&lt;</span><span class="nt">h1</span><span class="p">&gt;</span></code> a <code class="language-html highlight"><span class="p">&lt;</span><span class="nt">h6</span><span class="p">&gt;</span></code> são usadas para títulos e subtítulos; <code class="language-html highlight"><span class="p">&lt;</span><span class="nt">p</span><span class="p">&gt;</span></code> para parágrafos; <code class="language-html highlight"><span class="p">&lt;</span><span class="nt">a</span><span class="p">&gt;</span></code> para links; enquanto <code class="language-html highlight"><span class="p">&lt;</span><span class="nt">div</span><span class="p">&gt;</span></code> e <code class="language-html highlight"><span class="p">&lt;</span><span class="nt">span</span><span class="p">&gt;</span></code> auxiliam na organização e estilo do conteúdo. Juntas, essas tags formam a espinha dorsal de quase todas as páginas da internet.</p>
<p>Se nosso objetivo fosse apresentar um HTML simples, poderíamos usar a classe de resposta <code>HTMLResponse</code>:</p>
<div class="language-py highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-12-1"> 1</a></span>
<span class="normal"><a href="#__codelineno-12-2"> 2</a></span>
Expand Down Expand Up @@ -2555,7 +2555,7 @@ <h4 id="integrando-o-pydantic-com-o-fastapi">Integrando o Pydantic com o FastAPI
</span></code></pre></div></td></tr></table></div>
<p>Com essa abordagem, ao iniciar o servidor (<code>task run</code>) e acessar a Swagger UI em <a href="http://127.0.0.1:8000/docs" target="_blank">http://127.0.0.1:8000/docs</a>, observamos uma evolução significativa na documentação. Um novo campo <code>Schemas</code> é exibido, destacando a estrutura do modelo <code>Message</code> que definimos:</p>
<p><a class="glightbox" href="../assets/02/captura_de_tela_do_swagger_mostrando_o_schema_de_message.png" data-type="image" data-width="auto" data-height="auto" data-desc-position="bottom"><img alt='Captura de tele do Swagger UI mostrando o json schema de "Message" que definimos no FastAPI' class="center shadow" src="../assets/02/captura_de_tela_do_swagger_mostrando_o_schema_de_message.png"></a></p>
<p>Além disso, na seção de <code>Responses</code>, temos um exemplo claro da saída esperada do endpoint: <code>{"message": "string"}</code>. Isso ilustra como a API irá responder, especificando que o campo obrigatório <code>"message"</code> será retornado com um valor do tipo <code>"string"</code>.</p>
<p>Além disso, na seção de <code>Responses</code>, temos um exemplo claro da saída esperada do endpoint: <code class="language-python highlight"><span class="p">{</span><span class="s2">"message"</span><span class="p">:</span> <span class="s2">"string"</span><span class="p">}</span></code>. Isso ilustra como a API irá responder, especificando que o campo obrigatório <code>"message"</code> será retornado com um valor do tipo <code>"string"</code>.</p>
<h2 id="exercicio">Exercício</h2>
<ol>
<li>Crie um endpoint que retorne "olá mundo" usando HTML e escreva seu teste. Dica: para capturar a resposta do HTML do cliente de testes, você pode usar <code class="language-python highlight"><span class="n">response</span><span class="o">.</span><span class="n">text</span></code></li>
Expand Down Expand Up @@ -2710,7 +2710,7 @@ <h2 id="conclusao">Conclusão</h2>
<span class="md-icon" title="Última atualização">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg>
</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date">2 de outubro de 2024</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date">9 de janeiro de 2025</span>
</span>


Expand Down
5 changes: 3 additions & 2 deletions 03/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2587,7 +2587,8 @@ <h4 id="implementando-o-teste-da-rota-de-get">Implementando o teste da rota de G
<h2 id="implementando-a-rota-put">Implementando a Rota PUT</h2>
<p>A rota PUT é usada para atualizar as informações de um usuário existente. No contexto do CRUD, o verbo HTTP PUT está associado à operação "Update". Se a solicitação for bem-sucedida, a rota deve retornar o status HTTP 200 (OK). No entanto, se o usuário solicitado não for encontrado, deveríamos retornar o status HTTP 404 (Não Encontrado).</p>
<p>Uma característica importante do verbo PUT é que ele é direcionado a um recurso em específico. Nesse caso, estamos direcionando a alteração a um <code>user</code> em específico na base de dados. O identificador de <code>user</code> é o campo <code>id</code> que estamos usando nos modelos do Pydantic. Nesse caso, nosso endpoint deve receber o identificador de quem será alterado.</p>
<p>Para fazer essa identificação do recurso na <a href="../02/#url" target="_blank">URL</a> usamos a seguinte combinação <code>/caminho/recurso</code>. Mas, como o recurso é dinâmico, ele deve ser enviado pelo cliente. Fazendo com que o valor tenha que ser uma variável. Dentro do FastAPI, as variáveis de recursos são descritas dentro de {}, como <code>{user_id}</code>. Fazendo com que o caminho completo do nosso endpoint seja <code class="language-python highlight"><span class="s1">'/users/</span><span class="si">{user_id}</span><span class="s1">'</span></code>. Da seguinte forma:</p>
<p>Para fazer essa identificação do recurso na <a href="../02/#url" target="_blank">URL</a> usamos a seguinte combinação <code>/caminho/recurso</code>. Mas, como o recurso é dinâmico, ele deve ser enviado pelo cliente. Fazendo com que o valor tenha que ser uma variável.</p>
<p>Dentro do FastAPI, as variáveis de recursos são descritas dentro de {}, como <code>{user_id}</code>. Fazendo com que o caminho completo do nosso endpoint seja <code class="language-python highlight"><span class="s1">'/users/</span><span class="si">{user_id}</span><span class="s1">'</span></code>. Da seguinte forma:</p>
<div class="language-python highlight"><span class="filename">fast_zero/app.py</span><pre><span></span><code><span id="__span-24-1"><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">fastapi</span><span class="w"> </span><span class="kn">import</span> <span class="n">FastAPI</span><span class="p">,</span> <span class="n">HTTPException</span>
</span><span id="__span-24-2"><a id="__codelineno-24-2" name="__codelineno-24-2" href="#__codelineno-24-2"></a>
</span><span id="__span-24-3"><a id="__codelineno-24-3" name="__codelineno-24-3" href="#__codelineno-24-3"></a><span class="c1"># ...</span>
Expand Down Expand Up @@ -2868,7 +2869,7 @@ <h2 id="conclusao">Conclusão</h2>
<span class="md-icon" title="Última atualização">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg>
</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date">26 de setembro de 2024</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date">9 de janeiro de 2025</span>
</span>


Expand Down
2 changes: 1 addition & 1 deletion search/search_index.json

Large diffs are not rendered by default.

0 comments on commit f52d923

Please sign in to comment.