<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: jasonchan</title>
    <description>The latest articles on Forem by jasonchan (@jasonchan).</description>
    <link>https://forem.com/jasonchan</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1049259%2F57be2f66-4483-4e0e-87f9-beee7af19783.png</url>
      <title>Forem: jasonchan</title>
      <link>https://forem.com/jasonchan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/jasonchan"/>
    <language>en</language>
    <item>
      <title>Generate API Client Codes as per API Specs with Apidog</title>
      <dc:creator>jasonchan</dc:creator>
      <pubDate>Wed, 31 Jan 2024 08:37:37 +0000</pubDate>
      <link>https://forem.com/jasonchan/generate-api-client-codes-as-per-api-specs-with-apidog-2g3n</link>
      <guid>https://forem.com/jasonchan/generate-api-client-codes-as-per-api-specs-with-apidog-2g3n</guid>
      <description>&lt;p&gt;Writing API client code is not difficult for most experienced developers, but if there are many API endpoints, writing API client codes manually can be troublesome. Using tools like &lt;a href="https://apidog.com/"&gt;Apidog&lt;/a&gt; to auto-generate the API client codes can be a good choice. &lt;br&gt;
&lt;a href="http://www.apidog.com/"&gt;Get start with Apidog&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Especially for the teams that are using the &lt;a href="https://apidog.com/articles/what-is-api-first/"&gt;API-first Approach&lt;/a&gt;, Using this tool to generate API client codes as per the existing API specs can save a lot of time and effort.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Benefits of Using Generation Tools
&lt;/h2&gt;

&lt;p&gt;When integrating our application with APIs (Application Programming Interfaces), we typically need to write API client code to interact with those APIs. Instead of manual Writing, here are some of the major benefits of using API client code generation tools.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Saves Effort and Time: Manually coding takes significant effort and time to handle aspects like API requests, error handling, serialization, tests etc. Codegen tools automate majority of this repetitive code.&lt;/li&gt;
&lt;li&gt;Avoid Errors: Humans make mistakes. Doing repetitive tasks increases chance of bugs. Tools generate code programmatically thereby minimizing errors.&lt;/li&gt;
&lt;li&gt;Consistency: Tools generate standardized, uniform code following best practices. Manual code tends to get messy with inconsistent conventions. &lt;/li&gt;
&lt;li&gt;Handles Complexity: Tasks like serialization, API versioning, auth flows have complexity. Tools abstract this complexity into a clean usable interface.&lt;/li&gt;
&lt;li&gt;Updates Handled Automatically: When API specs change, tools can auto-generate updated code seamlessly. Manual edits tend to miss details.&lt;/li&gt;
&lt;li&gt;Language Choice: Tools can generate clients in multiple languages like TypeScript, Python, C# etc. Doing this manually takes massive effort.&lt;/li&gt;
&lt;li&gt;Saves Learning Curve: Tools are easier to onboard and use rather than developers figuring out all the tooling and setup.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  API Client Codes Generation Feature of Apidog
&lt;/h2&gt;

&lt;p&gt;Apidog is regarded as a great API documentation and testing tool that allows you to design and test your APIs easily, so if you need to create a new API, you can easily design your API spec by filling a table with its GUI without any learning curve. Once you get your API spec design done, you can use its code generation features to auto-generate the API client code according to this API spec with ease.&lt;/p&gt;

&lt;p&gt;Alternatively, you can import any of your existing API spec (YAML/ JSON) files into &lt;a href="http://www.apidog.com/"&gt;Apidog&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flau6sp8qpayd2xjllhwr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flau6sp8qpayd2xjllhwr.png" alt="import API specs into Apidog" width="800" height="535"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Apidog supports various data formats, whatever you are using to define your API specs, you can directly import them into Apidog easily.&lt;/p&gt;

&lt;h2&gt;
  
  
  1-Click to Generate API Client Codes with Apidog
&lt;/h2&gt;

&lt;p&gt;Now, let me show you how Apidog can generate API client codes effectively for you. Once you've created or imported APIs into Apidog, you can find them in your project and easily generate the API client code for each.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step1. Selecting API Endpoint
&lt;/h3&gt;

&lt;p&gt;Open Apidog, and click the API endpoint you want to interact with, then you can see the detailed spec information in the right panel. To generate the API client codes for it, put the cursor on the "Generate Code" icon, then select "Generate Client Code" from the dropdown list.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb4ucxwm6btvz1j0f4eaa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb4ucxwm6btvz1j0f4eaa.png" alt="choose API endpoint to generate code" width="800" height="535"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step2. Selecting the Language and Library
&lt;/h3&gt;

&lt;p&gt;From the new popup window, you can choose your programming language, and then select the corresponding API request library, you can get a correct and accurate client code.&lt;/p&gt;

&lt;p&gt;As we can see, Apidog supports mainstream programming languages and API request libraries. No matter what programming languages and API request libraries you are using, Apidog could be helpful for you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxpsg4cuneyan632208rh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxpsg4cuneyan632208rh.png" alt="choose the languages and libraries" width="800" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, you can copy and paste this code anywhere to integrate with this API. I hope you can enjoy the code generation feature of &lt;a href="http://www.apidog.com/?utm_source=dev_to&amp;amp;utm_medium=IsmailKamil&amp;amp;utm_content=Mock-API-in-one-minute"&gt;Apidog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It's really a good tool. Apart from API client codes, you can even generate Client SDK for your APIs in different languages.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.apidog.com/"&gt;Download Apidog here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Como simular APIs online sem configurar um servidor</title>
      <dc:creator>jasonchan</dc:creator>
      <pubDate>Thu, 19 Oct 2023 03:39:13 +0000</pubDate>
      <link>https://forem.com/jasonchan/como-simular-apis-online-sem-configurar-um-servidor-1kho</link>
      <guid>https://forem.com/jasonchan/como-simular-apis-online-sem-configurar-um-servidor-1kho</guid>
      <description>&lt;p&gt;Existem muitas abordagens para simular dados JSON e usá-los offline. Mas se você precisar de alguns dados &lt;strong&gt;online&lt;/strong&gt; no seu aplicativo, terá que executar um servidor de simulação no seu próprio servidor na nuvem.&lt;br&gt;&lt;br&gt;
Isso não é fácil, especialmente para desenvolvedores front-end.&lt;br&gt;
Mas agora, há uma fantástica maneira de iniciar um servidor de simulação na nuvem, de forma fácil e gratuita.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que simular APIs online
&lt;/h2&gt;

&lt;p&gt;No desenvolvimento local, dados simulados offline são suficientes para desenvolvedores front-end. Mas existem alguns cenários comuns em que os dados simulados offline não são suficientes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cenário 1: Dados simulados compartilhados pela equipe
&lt;/h3&gt;

&lt;p&gt;Algumas estruturas de dados são complicadas, talvez com muitos campos ou seguindo esquemas complexos. Se vários desenvolvedores precisarem da mesma API simulada, a melhor solução é construir um servidor de simulação online que todos possam acessar.&lt;br&gt;
Para equipes, dados simulados online compartilhados acelerariam muito o desenvolvimento. Os dados simulados podem ser definidos apenas uma vez.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cenário 2: APIs em desenvolvimento
&lt;/h3&gt;

&lt;p&gt;Em muitas equipes, as APIs não são bem projetadas no início. Uma especificação inicial de como as respostas da API devem parecer provavelmente mudará enquanto ela está sendo desenvolvida de verdade. Um dado simulado offline logo será diferente das respostas da API real.&lt;br&gt;&lt;br&gt;
Então, dados simulados online seguindo as especificações da API back-end seria ótimo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como simular
&lt;/h2&gt;

&lt;p&gt;Em meus artigos anteriores, apresentei como simular dados dinâmicos em um servidor local rapidamente na ferramenta &lt;a href="https://apidog.com/?utm_source=dev_to&amp;amp;utm_medium=br&amp;amp;utm_content=Mock_online_API_in_one_minute" rel="noopener noreferrer"&gt;Apidog&lt;/a&gt;.&lt;br&gt;
E agora descobri que simular em um servidor na nuvem também é fácil e gratuito!&lt;/p&gt;

&lt;h3&gt;
  
  
  Passo 1: Importar definições de API
&lt;/h3&gt;

&lt;p&gt;A documentação da API é necessária. OpenAPI (Swagger) é o melhor, e qualquer outro formato também serve.&lt;/p&gt;

&lt;p&gt;Crie um novo projeto no &lt;a href="https://apidog.com/?utm_source=dev_to&amp;amp;utm_medium=br&amp;amp;utm_content=Mock_online_API_in_one_minute" rel="noopener noreferrer"&gt;Apidog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--XVFAUo6e--%2Fc_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880%2Fhttps%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbgfoi8b131h0s1q1kbre.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--XVFAUo6e--%2Fc_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880%2Fhttps%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbgfoi8b131h0s1q1kbre.png" alt="Criar projeto"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vá para "Setting" - "Import" e arraste o arquivo da sua API.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--6IiuerXc--%2Fc_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880%2Fhttps%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fskl2ph7m1te8orrlf61r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--6IiuerXc--%2Fc_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880%2Fhttps%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fskl2ph7m1te8orrlf61r.png" alt="Importar API"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mais de dez formatos de documentação de API são suportados. Clique em "Avançar" e sua API será importada.&lt;/p&gt;

&lt;h3&gt;
  
  
  Passo 2: Ative o servidor de simulação na nuvem
&lt;/h3&gt;

&lt;p&gt;Vá para "Settings" - "Feature Settings" - "Mock Settings" e ative o interruptor "Cloud Mock".&lt;br&gt;
A simulação na nuvem pode ser acessada aberta ou você pode definir um token para ela.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--5igagWTH--%2Fc_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880%2Fhttps%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgedgs787oahnn2v6jl8v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--5igagWTH--%2Fc_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880%2Fhttps%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgedgs787oahnn2v6jl8v.png" alt="Ativar simulação na nuvem"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Passo 3: Obtenha a URL simulada
&lt;/h3&gt;

&lt;p&gt;Clique em uma API no Apidog. Você verá uma página de definição da API, na qual há uma seção chamada "Mock". Copie a URL na parte "Cloud Mock" que começa com "mock.apidog.com".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--_aw-fzR_--%2Fc_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880%2Fhttps%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnt3rc00fc0qp9xef1ia8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--_aw-fzR_--%2Fc_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880%2Fhttps%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnt3rc00fc0qp9xef1ia8.png" alt="URL simulada"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cole no seu navegador.&lt;/p&gt;

&lt;p&gt;Pronto! Você verá um JSON simulado!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--V8UAhnuQ--%2Fc_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880%2Fhttps%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqq8g35ei9ts05vqfi31a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--V8UAhnuQ--%2Fc_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880%2Fhttps%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqq8g35ei9ts05vqfi31a.png" alt="JSON simulado"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Um campo "city" é preenchido com um nome de cidade, um campo "id" é preenchido com um número inteiro e "status" é um campo enum.&lt;/p&gt;

&lt;p&gt;Agora você pode usar os dados da API no seu aplicativo, e qualquer pessoa da equipe pode acessar essa URL para obter dados.&lt;/p&gt;

&lt;p&gt;Ainda assim, você não precisa escrever nenhum script. Os dados em todos os campos são gerados automaticamente.&lt;/p&gt;

&lt;p&gt;E quando você clica em "reload" no navegador, os dados serão atualizados.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--P9nJ3BD3--%2Fc_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880%2Fhttps%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm93iaerfatwr6zmr0iqz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--P9nJ3BD3--%2Fc_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880%2Fhttps%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm93iaerfatwr6zmr0iqz.png" alt="JSON simulado"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  APIs em desenvolvimento
&lt;/h2&gt;

&lt;p&gt;Esta abordagem resolveu o cenário de dados simulados compartilhados pela equipe. Mas se a API ainda está em desenvolvimento, como os outros desenvolvedores podem obter os dados simulados mais recentes?&lt;/p&gt;

&lt;p&gt;A solução também está no Apidog. O Apidog é um toolkit de desenvolvimento de APIs all-in-one, assim os desenvolvedores back-end podem usá-lo para depurar as APIs como no Postman e especificar APIs como no Stoplight. O Apidog pode sincronizar o Swagger automaticamente para que as especificações da API possam ser mantidas atualizadas. Quando as especificações da API mudam, os dados simulados online mudam sincronizando.&lt;/p&gt;

&lt;p&gt;É um toolkit de desenvolvimento de APIs perfeito para trabalho em equipe.&lt;/p&gt;

&lt;p&gt;Você pode &lt;a href="https://apidog.com/?utm_source=dev_to&amp;amp;utm_medium=IsmailKamil&amp;amp;utm_content=Mock_online_API_in_one_minute" rel="noopener noreferrer"&gt;registrar ou baixar o Apidog&lt;/a&gt; aqui.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>api</category>
      <category>braziliandevs</category>
      <category>ptbr</category>
    </item>
    <item>
      <title>Como Resolver os Limites de Coleções do Postman Gratuitamente</title>
      <dc:creator>jasonchan</dc:creator>
      <pubDate>Fri, 13 Oct 2023 09:30:04 +0000</pubDate>
      <link>https://forem.com/jasonchan/como-resolver-os-limites-de-colecoes-do-postman-gratuitamente-5e7g</link>
      <guid>https://forem.com/jasonchan/como-resolver-os-limites-de-colecoes-do-postman-gratuitamente-5e7g</guid>
      <description>&lt;p&gt;Se você é um usuário assíduo do Postman para testes de API, pode ter encontrado um problema frustrante onde você atinge o limite de execuções de coleções. Depois de atingir o limite, será exibida uma mensagem dizendo "Você esgotou todas as execuções. Para continuar executando coleções, crie uma conta..." Isso pode ser um verdadeiro obstáculo para seu fluxo de trabalho, especialmente se você estiver trabalhando em um projeto grande ou em equipe.&lt;/p&gt;

&lt;p&gt;Felizmente, existem algumas soluções alternativas que você pode usar para contornar essa limitação e continuar executando suas coleções sem interrupções. Neste artigo, exploraremos alguns dos melhores métodos para superar o limite de coleção do Postman e &lt;a href="https://apidog.com/blog/test-api-with-postman/"&gt;continuar seus testes de API&lt;/a&gt; sem interrupções.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que é uma Coleção do Postman
&lt;/h2&gt;

&lt;p&gt;Uma Coleção do Postman é um grupo de solicitações que pode ser salvo e compartilhado com outros usuários. Ela permite que os desenvolvedores organizem, documentem e automatizem seus fluxos de trabalho de testes de API em um único local. Em uma Coleção do Postman, você pode incluir solicitações, testes e scripts, facilitando o compartilhamento de fluxos de trabalho de API com membros da equipe ou colaboradores.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--d9GezjTx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--wMhhUXod--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/em0rjjhkk811pzxex7v5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--d9GezjTx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--wMhhUXod--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/em0rjjhkk811pzxex7v5.png" alt="postman" width="800" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A Coleção do Postman também permite a criação de variáveis personalizadas, que podem ser usadas para parametrizar solicitações e respostas, permitindo que os desenvolvedores criem testes de API dinâmicos. Ao usar uma Coleção do Postman, os desenvolvedores podem racionalizar seus processos de teste de API e melhorar sua eficiência geral.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limitação da Coleção do Postman
&lt;/h2&gt;

&lt;p&gt;O limite de Execução de Coleção do Postman se refere ao número de vezes que uma coleção pode ser executada dentro de um determinado período de tempo. Este limite é imposto para evitar o abuso da API do Postman e para garantir que o serviço permaneça estável para todos os usuários.&lt;/p&gt;

&lt;p&gt;Para alinhar melhor com o valor que a automação de testes do Postman oferece para testadores profissionais e engenheiros de qualidade, o Postman fez as seguintes alterações efetivas em 15 de fevereiro de 2023, para clientes gratuitos, e 15 de março de 2023, para novos clientes de planos pagos. Clientes existentes de planos pagos viram esses limites vigentes &lt;em&gt;na renovação do plano&lt;/em&gt; após 15 de março de 2023 (exceto usuários Enterprise, que têm execuções ilimitadas por mês):&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Executor de Coleção Local:&lt;/strong&gt; As execuções estarão disponíveis nos planos Gratuito e Básico com 25 execuções por mês, plano Profissional com 250 execuções por mês e plano Enterprise com execuções ilimitadas por mês.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;É importante observar que o limite de Execução de Coleção se aplica a todas as coleções dentro de uma conta e não apenas a coleções individuais. Portanto, usuários com várias coleções que precisam de execução frequente podem precisar atualizar para um plano Postman superior para evitar atingir o limite de Execução de Coleção.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como Corrigir as Restrições do Executor de Coleção do Postman?
&lt;/h2&gt;

&lt;p&gt;Muitos usuários fiéis estão expressando frustração com as recentes mudanças de preços do Postman, especificamente em relação ao limite de execuções locais. Os clientes pagantes no plano básico agora têm o mesmo número de execuções da versão gratuita, e o limite de 25 no plano básico é visto como insensato por muitos. Alguns pedem que o Postman reconsidere as alterações, enquanto outros exploram &lt;a href="https://apidog.com/blog/top-postman-alternative-open-source/"&gt;ferramentas alternativas ao Postman&lt;/a&gt; como o Apidog, que oferecem mais flexibilidade sem restrições no número de execuções.&lt;/p&gt;

&lt;p&gt;O Apidog é &lt;a href="https://apidog.com/blog/best-automation-testing-tools/"&gt;uma poderosa ferramenta de teste&lt;/a&gt; que supera o limite de Execução de Coleção no Postman. Ele oferece um robusto framework de teste e recursos de automação, feedback em tempo real e relatórios de teste abrangentes, bem como fácil integração com outras ferramentas de teste. O Apidog permite que os desenvolvedores criem, testem e gerenciem APIs de forma eficiente sem restrições, resultando em um processo de desenvolvimento mais produtivo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Método 1. Criando sua coleção com o Apidog (Gratuito e melhor)
&lt;/h3&gt;

&lt;p&gt;Diferentemente do Postman, o &lt;a href="http://apidog.com"&gt;Apidog&lt;/a&gt; não impõe nenhum limite sobre quantas vezes uma coleção pode ser executada dentro de um determinado período de tempo. Isso significa que os desenvolvedores podem executar suas coleções tão frequentemente quanto precisarem, sem quaisquer restrições.&lt;/p&gt;

&lt;p&gt;Uma coleção é um grupo de solicitações relacionadas que podem ser organizadas e executadas juntas. Existe um guia detalhado para criar uma solicitação de API.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Abra o Apidog e faça login. Se você ainda não baixou, basta clicar &lt;a href="https://apidog.com/?utm_source=dev_to&amp;amp;utm_medium=HaewonKim540&amp;amp;utm_content=how_to_fix_postman_collection_limits_for_free"&gt;aqui&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Entre no seu projeto e clique em "Nova Solicitação" para criar uma nova solicitação ou mova o mouse para o diretório esquerdo e clique no botão &lt;code&gt;+&lt;/code&gt; próximo à caixa de pesquisa à esquerda e selecione &lt;code&gt;Nova Solicitação&lt;/code&gt;.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qCmMInkE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--7-X6vNmm--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8bcq98w300h53zb41ua6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qCmMInkE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--7-X6vNmm--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8bcq98w300h53zb41ua6.png" alt="adicionar nova solicitação" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Insira a URL da API e os parâmetros para solicitar a API rapidamente.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L2Ke6PgA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s---liM8D7A--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hisfu2ceutxvik8a7v4f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L2Ke6PgA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s---liM8D7A--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hisfu2ceutxvik8a7v4f.png" alt="adicionar URL" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Observação:&lt;/p&gt;

&lt;p&gt;Se a URL inserida não começar com &lt;code&gt;http://&lt;/code&gt; ou &lt;code&gt;https://&lt;/code&gt;, a URL de prefixo no ambiente atual será adicionada automaticamente quando a solicitação for enviada.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Depois de depurar, a solicitação pode ser salva como uma Nova Solicitação ou documento de API.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dvjbQEwc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--d329wBtt--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/od9xxvqu8bvvdtof9g96.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dvjbQEwc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--d329wBtt--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/od9xxvqu8bvvdtof9g96.png" alt="salvar como API" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;As &lt;code&gt;Novas Solicitações&lt;/code&gt; salvas podem ser gerenciadas no diretório esquerdo.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ii9RM2Mz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--lLTHR1MT--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p9sarxilubse6nx95l1u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ii9RM2Mz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--lLTHR1MT--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p9sarxilubse6nx95l1u.png" alt="gerenciar solicitações" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;Nova Solicitação&lt;/code&gt; suporta geração de código. Para mais detalhes, consulte Geração de Código.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r4uCDIsG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--M8smTGRb--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cgx15ogs57jad7zu8udl.jpg" alt="geração de código" width="800" height="474"&gt; &lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;Em conclusão, as limitações do Executor de Coleção do Postman podem ser um desafio significativo para desenvolvedores que precisam de acesso irrestrito para testar suas APIs. Felizmente, existem vários métodos para superar esse obstáculo. No entanto, uma das opções mais eficazes e amigáveis ao usuário é o Apidog.&lt;/p&gt;

&lt;p&gt;Com o Apidog, os desenvolvedores podem criar, testar e gerenciar APIs de forma eficiente, sem quaisquer restrições, racionalizando seu processo de desenvolvimento. Portanto, recomendamos fortemente o uso do &lt;a href="https://apidog.com/download/"&gt;Apidog&lt;/a&gt; para garantir a melhor experiência de teste e superar as limitações do Executor de Coleção do Postman.&lt;/p&gt;

</description>
      <category>api</category>
      <category>webdev</category>
      <category>braziliandevs</category>
      <category>postman</category>
    </item>
    <item>
      <title>Simular corpos de REQUISIÇÃO automaticamente para acelerar a depuração de APIs</title>
      <dc:creator>jasonchan</dc:creator>
      <pubDate>Fri, 13 Oct 2023 08:59:47 +0000</pubDate>
      <link>https://forem.com/jasonchan/simular-corpos-de-requisicao-automaticamente-para-acelerar-a-depuracao-de-apis-224o</link>
      <guid>https://forem.com/jasonchan/simular-corpos-de-requisicao-automaticamente-para-acelerar-a-depuracao-de-apis-224o</guid>
      <description>&lt;p&gt;Ao desenvolver APIs, a depuração é sempre um problema chato.&lt;/p&gt;

&lt;p&gt;O Postman pode ajudar a enviar solicitações, mas quando o corpo da API é complicado, a construção de um corpo JSON seria difícil. O Junit também funciona, mas todas as solicitações devem ser construídas por você mesmo nas classes de teste.&lt;/p&gt;

&lt;p&gt;Corpos complexos fazem muitos backends abandonarem testes unitários e saírem com uma API não testada para desenvolvedores front-end e engenheiros de QA.&lt;/p&gt;

&lt;p&gt;O caso acima demonstra que a qualidade do código declina sem uma boa ferramenta.&lt;/p&gt;

&lt;p&gt;E agora, descobri que &lt;a href="https://apidog.com/?utm_source=dev_to&amp;amp;utm_medium=br&amp;amp;utm_content=Mock_request_body"&gt;uma ferramenta chamada Apidog&lt;/a&gt; pode gerar o corpo da solicitação automaticamente ao depurar. A ferramenta pode construir um JSON de solicitação correto por si só.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como simular
&lt;/h2&gt;

&lt;p&gt;Esta abordagem funciona para equipes API-first. As APIs são projetadas antes do desenvolvimento, então durante a depuração, você tem uma especificação de API.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Importe as especificações da API para o Apidog. (&lt;a href="https://dev.to/jasonchan/como-criar-um-mock-de-api-em-um-minuto-jk8"&gt;Como?&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Abra uma API e verifique se a solicitação tem uma especificação de corpo JSON/XML.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0573MxTT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--Al7iz2xC--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c8depoegey0lem5hc185.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0573MxTT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--Al7iz2xC--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c8depoegey0lem5hc185.png" alt="Imagem" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Mude para a guia "Run" e clique no botão "Generate Automatically".&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Pronto. Você obteve um JSON simulado de acordo com a especificação da solicitação!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VzBwYglM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--wC4e2aNR--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9elinaoj7q2qtf3yfxc5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VzBwYglM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--wC4e2aNR--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9elinaoj7q2qtf3yfxc5.png" alt="Imagem" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;E agora clique em "Send" para enviar a solicitação como fizemos no Postman, mas de forma mais eficiente. A maioria dos recursos no Postman também é suportada no Apidog.&lt;/p&gt;

&lt;p&gt;Nossa equipe tem usado o Apidog para depurar APIs em vez do Postman por semanas.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que mais há
&lt;/h2&gt;

&lt;p&gt;Observe os dados simulados. Eles foram gerados automaticamente de acordo com o nome do campo. Um campo nomeado "cidade" é simulado com um nome de cidade, um campo chamado photoUrl é simulado com uma URL de foto e todos os dados simulados seguem o schema JSON especificado na API. &lt;/p&gt;

&lt;p&gt;E isso não é o fim.&lt;/p&gt;

&lt;p&gt;Passe o mouse sobre a seta ao lado de "Generate Automatically", você verá três itens de menu.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EchAiI6W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--c73varHL--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gaoiftrapox2sjkb02oh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EchAiI6W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--c73varHL--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gaoiftrapox2sjkb02oh.png" alt="Imagem" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;"Default value first" significa que o JSON simulado seria preenchido pelo valor padrão especificado em cada campo da API primeiro. "Example value first" significa que o JSON simulado seria carregado pelo JSON de solicitação de exemplo primeiro. Mas o que é "Atualizar ao enviar solicitação"?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K7qvOE2g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--L8tOVqOr--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jjlt5ln9op9zeue7oj3t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K7qvOE2g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--L8tOVqOr--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jjlt5ln9op9zeue7oj3t.png" alt="Imagem" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;É apenas o significado literal. Cada vez que a solicitação é enviada, o corpo é gerado novamente.&lt;/p&gt;

&lt;p&gt;Interessante, não é?&lt;/p&gt;

&lt;h2&gt;
  
  
  Personalize
&lt;/h2&gt;

&lt;p&gt;Até agora, tudo parece ótimo.&lt;/p&gt;

&lt;p&gt;Mas e se alguns dos meus campos não forem esperados para mudar? Como posso tornar alguns campos fixos e outros simulados?&lt;/p&gt;

&lt;p&gt;Clique no botão "Dynamic Value" e você encontrará um novo mundo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yWDuOOHt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--SfZluY5V--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c0xe2jlba4tt8c6yl640.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yWDuOOHt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--SfZluY5V--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c0xe2jlba4tt8c6yl640.png" alt="Imagem" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Todas as sintaxes Faker.js são suportadas e você pode selecionar qualquer uma delas diretamente. Você pode até selecionar uma função para alterar o valor simulado, como md5, substr ou base64 etc.&lt;br&gt;
Em seguida, será inserido no corpo da solicitação, assim.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--c3qcbasa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--VA1yIjJF--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0y85l19nu6nn5ttcasdz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--c3qcbasa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--VA1yIjJF--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0y85l19nu6nn5ttcasdz.png" alt="Imagem" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Você pode decidir qual campo é fixo e qual é simulado pelo Faker.js. Ao enviar, todos os campos faker mudarão para os dados reais abaixo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--184-VdJg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--Yxmz137J--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/47yomatmtqnsti0hcnxc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--184-VdJg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--Yxmz137J--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/47yomatmtqnsti0hcnxc.png" alt="Imagem" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;É isso. E muda cada vez que envia.&lt;/p&gt;

&lt;p&gt;O Apidog é uma ótima ferramenta que faz nosso time construir APIs mais rapidamente. Eu gosto.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev_to&amp;amp;utm_medium=br&amp;amp;utm_content=Mock_request_body"&gt;Baixe o Apidog aqui&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>api</category>
      <category>ptbr</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>Apidog, cliente de API mais efetivo que o Postman</title>
      <dc:creator>jasonchan</dc:creator>
      <pubDate>Fri, 13 Oct 2023 08:30:00 +0000</pubDate>
      <link>https://forem.com/jasonchan/apidog-cliente-de-api-mais-efetivo-que-o-postman-3jid</link>
      <guid>https://forem.com/jasonchan/apidog-cliente-de-api-mais-efetivo-que-o-postman-3jid</guid>
      <description>&lt;ol&gt;
&lt;li&gt;
O Postman é uma boa ferramenta para depuração de API e é muito popular entre desenvolvedores web. No entanto, a depuração de API é apenas uma parte da gestão de API no desenvolvimento web. Temos que usar outras ferramentas, como o Swagger para projetar APIs, Jmeter para testar APIs, e assim por diante. Que problema se os dados da API forem inconsistentes entre as diferentes ferramentas.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Problemas no desenvolvimento web
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;"Como desenvolvedor web, eu só quero projetar as APIs e fazer quaisquer alterações/modificações que eu quiser. Atualmente, tenho que alternar entre diferentes ferramentas e fazer trabalhos repetitivos. Eu odeio isso." &lt;br&gt;
— &lt;strong&gt;Desenvolvedor backend&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;"Ao escrever interfaces de usuário, preciso escrever scripts para simular dados com base nas definições de API. Eu nem posso saber se o projeto da API foi alterado ou não. Depois que a codificação estiver concluída, há mais da metade de chance de falhar na chamada das APIs reais."&lt;br&gt;
— &lt;strong&gt;Desenvolvedor frontend&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;"Estou fazendo testes no Jmeter, mas tenho que copiar as informações da API para cá. Que desastre se os desenvolvedores modificaram a definição da API ou alteraram alguns parâmetros e não nos notificaram. Apenas por causa de uma pequena mudança, tenho que executar o processo de teste novamente e novamente"&lt;br&gt;&lt;br&gt;
— &lt;strong&gt;Engenheiro de testes&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Em resumo, manter a consistência dos dados de diferentes ferramentas é muito difícil e ineficiente. A inconsistência de dados causa colaborações de equipe ineficientes e erros frequentes, o que é absolutamente um desastre para o desenvolvimento web.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Como poderíamos resolver problemas de inconsistência de dados e melhorar a eficiência da colaboração?&lt;/li&gt;
&lt;li&gt;Existe um lugar onde todas as funções acima possam colaborar eficientemente no trabalho da API juntas?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://apidog.com/"&gt;Apidog&lt;/a&gt;, um espaço de trabalho All-in-One para APIs
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Aqui está o site oficial do Apidog: &lt;a href="https://www.apidog.com/"&gt;apidog.com&lt;/a&gt;, que é um espaço de trabalho All-in-One para projetar, documentar, depurar, simular e testar APIs.&lt;/li&gt;
&lt;li&gt;O Apidog integrou os recursos de gerenciamento de API acima e fez inovações centrais de visualizações e interações. &lt;/li&gt;
&lt;li&gt;Esta ferramenta suporta um espaço de trabalho para diferentes funções no desenvolvimento web e mantém facilmente a consistência e sincronização de dados. Para equipes DEV, cada minuto conta!&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Funcionalidades principais do Apidog
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Projeto e documentação de API&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Podemos projetar uma API muito rapidamente em minutos e a documentação é gerada automaticamente, que será sincronizada no projeto e para a equipe. O projeto API-First segue todas as regras OpenApi e JSON Schema, e a documentação de API gerada automaticamente pode ser facilmente compartilhada.&lt;br&gt;
Os Esquemas de Dados também são suportados no Apidog para dados de resposta e parâmetros de solicitação. Uma vez definido, podemos reutilizar o schema de dados através de diferentes designs de API referenciando o modelo de schema.&lt;br&gt;
Mais impressionante ainda, podemos fazer tudo isso visualmente.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--APCX5Fut--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--nTpOKcfb--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2fmdw33vmnlwq1efxqcg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--APCX5Fut--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--nTpOKcfb--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2fmdw33vmnlwq1efxqcg.png" alt="Projeto de API Apidog" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Depuração de API&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Para depuração de API, todas as funcionalidades do Postman são suportadas no Apidog, e mais inovações de visualização como pré/pós-processadores podemos descobrir.&lt;br&gt;
O Apidog suporta variáveis de ambiente, scripts pré/pós, etc., totalmente compatível com o Postman. Além disso, as operações pré/pós (asserções, extrações de variáveis, operações de banco de dados, etc.) podem ser conduzidas visualmente. E os parâmetros de solicitação suportam variáveis dinâmicas também.&lt;br&gt;
Vários casos de API podem ser salvos diretamente de acordo com a definição da API durante a depuração, e podemos usar casos diferentes separadamente a qualquer momento.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YzZ34ItE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--iNgOpt_L--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mpsed6uan0qeidu3w9pp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YzZ34ItE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--iNgOpt_L--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mpsed6uan0qeidu3w9pp.png" alt="Depuração de API Apidog" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simulação de dados de API&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Outro projeto maravilhoso do Apidog é a simulação inteligente com um mecanismo de regras integrado do Faker.js. Podemos simular vários tipos de dados de acordo com as definições de API. Claro, simulações avançadas, como configurar uma expectativa, também são suportadas no Apidog.&lt;br&gt;
Não mais scripts manuais para simulação de dados e nenhuma modificação repetitiva com base em alterações de API.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QkGxBHEm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--sWcYO9xu--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lajwt8vq8u77rr8epcrc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QkGxBHEm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--sWcYO9xu--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lajwt8vq8u77rr8epcrc.png" alt="Simulação de API Apidog" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Teste de API&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Para testes, podemos verificar todas as definições de API em um espaço de trabalho e referenciar diretamente a API/APICase em nossos casos de teste, que suporta scripts pré/pós personalizados (compatível com o Postman) também. Todos os casos de teste podem ser executados visualmente, enquanto os relatórios de teste são gerados diretamente, que podem ser facilmente exportados se necessário.&lt;br&gt;
O Apidog segue testes orientados a dados, onde podemos gerenciar nossos conjuntos de dados (adicionar/modificar/importar/exportar) de forma muito conveniente. Além disso, podemos adicionar iterações e threads diretamente nos casos de teste para testes de desempenho.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fKhd7mzw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--Fo0COWrD--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xhq6p8iwcpoiwacivzgq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fKhd7mzw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--Fo0COWrD--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xhq6p8iwcpoiwacivzgq.png" alt="Teste de API Apidog" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Ainda mais inovações
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Verificação automática do schema de dados&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O Apidog verificará automaticamente o schema de dados de retorno durante a depuração de APIs. Não precisamos verificar manualmente ou usar scripts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qhiOYrsp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--URJclzFR--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n4j51w86lkw01yyel6dp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qhiOYrsp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--URJclzFR--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n4j51w86lkw01yyel6dp.png" alt="Verificação de schema de dados Apidog" width="800" height="249"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Definir asserções visualmente&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Configuração de asserção:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9Xd2arLM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--wcnXQr2J--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dmx3nnep092gejrcxv5q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9Xd2arLM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--wcnXQr2J--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dmx3nnep092gejrcxv5q.png" alt="Configuração de asserção visual Apidog" width="800" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Resultado da asserção após a execução:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mRm-M1qI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--g4g0Svc6--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0r5zarjhh8j2wgi24shl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mRm-M1qI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--g4g0Svc6--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0r5zarjhh8j2wgi24shl.png" alt="Resultado de asserção visual Apidog" width="800" height="319"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Operações de banco de dados&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9R4Vki0_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--tUCpdSrL--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vmo405e3z7lr7j64tnjf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9R4Vki0_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--tUCpdSrL--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vmo405e3z7lr7j64tnjf.png" alt="Operações de banco de dados Apidog" width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simulação inteligente&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Vamos conferir as diferenças: o Apidog pode simular dados quase reais sem nenhum script manual.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vmx1VCNv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--s6Jj4rdF--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7bru8igppgi2l3n6mmqw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vmx1VCNv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--s6Jj4rdF--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7bru8igppgi2l3n6mmqw.png" alt="Simulação inteligente Apidog" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Este é na verdade um projeto maravilhoso e um ponto inovador. O Apidog tem um mecanismo de regras Faker.js incorporado e pode gerar automaticamente regras de simulação de acordo com as definições de API (schema de dados, tipos de campo, etc.). Por exemplo, simular automaticamente uma URL de uma imagem se os dados do tipo String contiverem "imagem"; simular automaticamente uma string de carimbo de data/hora se os dados do tipo String contiverem "tempo"; simular automaticamente um nome de cidade real se os dados do tipo String contiverem "cidade".&lt;br&gt;
Portanto, confiando nas regras internas, vários tipos de dados podem ser gerados automaticamente, como imagem, nome de usuário, número de telefone, URL, carimbo de data/hora etc. Além disso, para satisfazer necessidades individuais, o Apidog também suporta a personalização de regras de simulação, por meio do uso de RegEx ou wildcards.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Documentação de API online&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A documentação da API pode ser facilmente compartilhada online para colaborações: &lt;a href="https://6sc5kfxbck.apidog.io"&gt;URL de demonstração&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VNzvvXOb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--jrPdsKR---/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n7my176tn8sb4zeuokj2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VNzvvXOb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--jrPdsKR---/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n7my176tn8sb4zeuokj2.png" alt="Documentação online Apidog" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Geração automática de código&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O Apidog suporta a geração de código para quase todas as linguagens e frameworks de programação regulares (mais de 130), e os modelos de código também podem ser personalizados.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Funcionalidades de importação/exportação&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O Apidog está trabalhando ativamente em funcionalidades para enriquecer o ecossistema de API. Podemos exportar diretamente vários tipos de dados (OpenApi, Markdown, Html, etc.) para trabalhos adicionais com API e importar diferentes tipos de dados (OpenApi, Postman, YApi, etc.) para o Apidog para facilitar as migrações de projeto.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;O Apidog, um espaço de trabalho All-in-One para APIs, começa com colaboração, com foco em eficiência, insistindo em inovação e visando a próxima geração do Postman.&lt;br&gt;
&lt;a href="https://apidog.com/"&gt;Comece grátis&lt;/a&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>postman</category>
      <category>braziliandevs</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Como criar um Mock de API em UM minuto</title>
      <dc:creator>jasonchan</dc:creator>
      <pubDate>Fri, 13 Oct 2023 07:53:54 +0000</pubDate>
      <link>https://forem.com/jasonchan/como-criar-um-mock-de-api-em-um-minuto-jk8</link>
      <guid>https://forem.com/jasonchan/como-criar-um-mock-de-api-em-um-minuto-jk8</guid>
      <description>&lt;p&gt;Desenvolvedores front-end geralmente encontram esse problema. A API é projetada, mas ainda não foi implementada. Eu preciso criar alguns dados falsos para a minha interface, o que significa que tenho que configurar um servidor de mock e adicionar alguns exemplos de resposta. Se não houver exemplos de resposta na documentação da API, eu mesmo terei que criar alguns dados de resposta.&lt;/p&gt;

&lt;p&gt;Toda vez que faço isso, penso que não é o que um desenvolvedor front-end deveria fazer. &lt;/p&gt;

&lt;p&gt;Deveria haver uma maneira melhor de conseguir isso.&lt;/p&gt;

&lt;p&gt;Experimentei muitas ferramentas. Usei o Postman como servidor de mock, mas todos os dados de resposta precisam ser adicionados manualmente. Tentei o faker.js, mas tenho que escrever código de mock para cada campo.&lt;/p&gt;

&lt;p&gt;Na minha expectativa, um excelente servidor de mock deveria gerar os próprios dados. Os desenvolvedores deveriam se concentrar nas coisas realmente essenciais.&lt;/p&gt;

&lt;p&gt;Ótimas notícias: agora, você pode &lt;strong&gt;criar um mock de API em apenas um minuto&lt;/strong&gt;. E você não precisa escrever nenhum script.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que fazer mock?
&lt;/h2&gt;

&lt;p&gt;Fazer mock é uma boa escolha se você estiver em uma das seguintes situações:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;A API está projetada, mas não desenvolvida. Isso geralmente acontece em equipes ágeis.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;APIs restritas ou pagas. Por exemplo, APIs bancárias. Você não pode obter dados reais antes que o desenvolvimento seja concluído. Então, você precisa de dados falsos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ambiente offline ou intranet. Dados falsos permitem que você trabalhe em uma máquina local.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Vamos fazer o mock!
&lt;/h2&gt;

&lt;p&gt;Existem duas etapas para mockar a API:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Importar as definições da API.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Obter a URL de mock.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Muito fácil! Vamos mockar!&lt;/p&gt;

&lt;h3&gt;
  
  
  Etapa 1 - Importar definições de API
&lt;/h3&gt;

&lt;p&gt;A documentação da API é necessária. O OpenAPI (Swagger) é o melhor, e qualquer outro formato também serve. &lt;/p&gt;

&lt;p&gt;Suponha que você tenha um arquivo YAML ou JSON. Vamos importá-lo nesta ferramenta: Apidog. Se você ainda não tem uma API, também pode criá-la no Apidog.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Crie um novo projeto no Apidog.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_TKHlqth--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ugpxhlzuuo28pmmofqkd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_TKHlqth--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ugpxhlzuuo28pmmofqkd.png" alt="Crie um novo projeto no Apidog" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Vá em "Settings" - "Import" e arraste o arquivo da sua API.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--foYN8KNy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ictyuq3tf82mgazaqo9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--foYN8KNy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ictyuq3tf82mgazaqo9.png" alt='"Configurações" - "Importar"' width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mais de dez formatos de documentação de API são suportados. Clique em "Next" e sua API será importada.&lt;/p&gt;

&lt;p&gt;Agora você verá as APIs no Apidog. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--x2_otOID--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x8xinwhcr928je7tv0bn.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--x2_otOID--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x8xinwhcr928je7tv0bn.jpeg" alt="APIs no Apidog" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Etapa 2 - Obter a URL de mock
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Clique em uma API no Apidog. Você verá uma página de definição da API, na qual há uma seção chamada "Mock".&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Clique na URL na parte "Local Mock" que começa com "127.0.0.1" para copiá-la.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eIe_8Cyd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c2sabuo55fbtzz5hvv3h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eIe_8Cyd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c2sabuo55fbtzz5hvv3h.png" alt="Local Mock" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Cole-a no seu navegador.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Pronto, está feito! Você verá um JSON de mock!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BaWTRGtr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y0h8wj6ngh16fl29xdlh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BaWTRGtr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y0h8wj6ngh16fl29xdlh.png" alt="Você verá um JSON de mock" width="800" height="681"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Um campo "city" é preenchido com o nome de uma cidade, um campo "id" é preenchido com um número inteiro e "createdAt" é preenchido com uma data e hora.&lt;/p&gt;

&lt;p&gt;Agora você pode usar os dados da API no seu App. &lt;/p&gt;

&lt;p&gt;E você não precisa escrever nenhum script! Os dados em todos os campos são gerados automaticamente.&lt;/p&gt;

&lt;p&gt;Além disso, se você clicar em "reload" no navegador, os dados serão atualizados!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WuWo7XEJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2f3dq93icou22xmtgygo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WuWo7XEJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2f3dq93icou22xmtgygo.png" alt='"reload" no navegador' width="800" height="732"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Incrível.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como isso funciona
&lt;/h2&gt;

&lt;p&gt;Na primeira vez que encontrei esse recurso, fiquei bastante surpreso. Por que o Apidog consegue gerar isso? Eu não configurei nada!&lt;/p&gt;

&lt;p&gt;Depois descobri o motivo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lj1GhK2w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iga8r5aitoc7ni9lnc9r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lj1GhK2w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iga8r5aitoc7ni9lnc9r.png" alt="Como isso funciona" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Existe um conjunto de regras de mock internas no Apidog, como as acima. Se o nome do seu campo na definição de resposta corresponder a uma delas, os dados do campo serão mockados automaticamente. &lt;/p&gt;

&lt;p&gt;E o Apidog inicia automaticamente um servidor de mock na sua máquina local. Então você não precisa fazer nada na camada de servidor.&lt;/p&gt;

&lt;p&gt;E se você não gostar dos dados que ele mocka automaticamente? Isso também é fácil.&lt;/p&gt;

&lt;p&gt;Você pode preencher diretamente o valor de mock do campo com Faker.js assim:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dN9lM0e---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eyadfji3wdlar9peztgb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dN9lM0e---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eyadfji3wdlar9peztgb.png" alt="mock field" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Toda gramática do Faker.js é suportada para que você possa selecioná-las facilmente.&lt;/p&gt;

&lt;p&gt;E se algum campo tiver um valor fixo, você também pode preencher o "mock" com o valor especificado.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--poH8SWwU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nb5kxhjxbmfrjueue14n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--poH8SWwU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nb5kxhjxbmfrjueue14n.png" alt="mock" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pronto, tudo feito.&lt;/p&gt;

&lt;p&gt;Espero que você faça mock feliz com o &lt;a href="https://apidog.com/?utm_source=dev_to&amp;amp;utm_medium=br&amp;amp;utm_content=Mock-API-in-one-minute"&gt;Apidog&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;É realmente uma boa ferramenta. E descobri que não é só bom para mock, mas para tudo no desenvolvimento de APIs.&lt;br&gt;
&lt;a href="http://www.apidog.com/?utm_source=dev_to&amp;amp;utm_medium=br&amp;amp;utm_content=Mock-API-in-one-minute"&gt;Faça o download do Apidog aqui&lt;/a&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>braziliandevs</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>OpenAI GPT-3.5 Turbo and GPT-4 (Lower Pricing &amp; New Model)🎉</title>
      <dc:creator>jasonchan</dc:creator>
      <pubDate>Wed, 21 Jun 2023 09:08:39 +0000</pubDate>
      <link>https://forem.com/jasonchan/openai-gpt-35-turbo-and-gpt-4-lower-pricing-new-model-10f4</link>
      <guid>https://forem.com/jasonchan/openai-gpt-35-turbo-and-gpt-4-lower-pricing-new-model-10f4</guid>
      <description>&lt;p&gt;On June 13, 2023, OpenAI announced a range of updates to its suite of language models, including enhanced steerability, improved function calling capabilities, extended context windows, and lower prices. In just six months, ChatGPT, a sibling model to InstructGPT which is trained to follow instructions and provide detailed responses, has quickly gained popularity worldwide since its launch on November 30, 2022. This update covers six major areas, and we're excited to dive into the details with you.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;new function calling capability in the Chat Completions API&lt;/li&gt;
&lt;li&gt;updated and more steerable versions of gpt-4 and gpt-3.5-turbo&lt;/li&gt;
&lt;li&gt;new 16k context version of gpt-3.5-turbo (vs the standard 4k version)&lt;/li&gt;
&lt;li&gt;75% cost reduction on our state-of-the-art embeddings model&lt;/li&gt;
&lt;li&gt;25% cost reduction on input tokens for gpt-3.5-turbo&lt;/li&gt;
&lt;li&gt;announcing the deprecation timeline for the gpt-3.5-turbo-0301 and gpt-4-0314 models&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Function calling
&lt;/h2&gt;

&lt;p&gt;The latest updates to GPT-4-0613 and GPT-3.5-turbo-0613 allow developers to describe functions to the models, which can then output a JSON object containing arguments to call those functions. This provides a new way for GPT models to connect with external tools and APIs to generate structured data output.&lt;br&gt;
The models have been fine-tuned to detect when a function needs to be called and can respond with JSON that adheres to the function signature. This allows developers to create chatbots that answer questions by calling external tools, convert natural language into API calls or database queries, and extract structured data from text. The new API parameters support calling specific functions, and developers can refer to the developer documentation to add evals to improve function calling.&lt;/p&gt;
&lt;h2&gt;
  
  
  Function calling example
&lt;/h2&gt;

&lt;p&gt;Step 1·OpenAI API&lt;br&gt;
Call the model with functions and the user’s input&lt;br&gt;
request:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl https://api.openai.com/v1/chat/completions -u :$OPENAI_API_KEY -H 'Content-Type: application/json' -d '{
  "model": "gpt-3.5-turbo-0613",
  "messages": [
    {"role": "user", "content": "What is the weather like in Boston?"}
  ],
  "functions": [
    {
      "name": "get_current_weather",
      "description": "Get the current weather in a given location",
      "parameters": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "The city and state, e.g. San Francisco, CA"
          },
          "unit": {
            "type": "string",
            "enum": ["celsius", "fahrenheit"]
          }
        },
        "required": ["location"]
      }
    }
  ]
}'

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Response:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "id": "chatcmpl-123",
  ...
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": null,
      "function_call": {
        "name": "get_current_weather",
        "arguments": "{ \"location\": \"Boston, MA\"}"
      }
    },
    "finish_reason": "function_call"
  }]
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Step 2·Third party API&lt;br&gt;
Use the model response to call your API, request like below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl https://weatherapi.com/...
{ "temperature": 22, "unit": "celsius", "description": "Sunny" }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Step 3·OpenAI API&lt;br&gt;
Send the response back to the model to summarize&lt;br&gt;
Request:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl https://api.openai.com/v1/chat/completions -u :$OPENAI_API_KEY -H 'Content-Type: application/json' -d '{
  "model": "gpt-3.5-turbo-0613",
  "messages": [
    {"role": "user", "content": "What is the weather like in Boston?"},
    {"role": "assistant", "content": null, "function_call": {"name": "get_current_weather", "arguments": "{ \"location\": \"Boston, MA\"}"}},
    {"role": "function", "name": "get_current_weather", "content": "{\"temperature\": "22", \"unit\": \"celsius\", \"description\": \"Sunny\"}"}
  ],
  "functions": [
    {
      "name": "get_current_weather",
      "description": "Get the current weather in a given location",
      "parameters": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "The city and state, e.g. San Francisco, CA"
          },
          "unit": {
            "type": "string",
            "enum": ["celsius", "fahrenheit"]
          }
        },
        "required": ["location"]
      }
    }
  ]
}'

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Response:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "id": "chatcmpl-123",
  ...
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "The weather in Boston is currently sunny with a temperature of 22 degrees Celsius.",
    },
    "finish_reason": "stop"
  }]
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The weather in Boston is currently sunny with a temperature of 22 degrees Celsius.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bigger Context Window
&lt;/h2&gt;

&lt;p&gt;With the latest updates, GPT-4-32k-0613 and GPT-3.5-turbo-16k are now able to handle larger texts, which enhances their effectiveness for applications that require processing substantial amounts of text data. GPT-3.5-turbo-16k can now handle roughly 20 pages of text in a single request, which is four times larger than the previous model. In other words, users will soon be able to upload up to 20 pages of text into ChatGPT at once, providing a significant boost to its capabilities in dealing with larger text data.&lt;/p&gt;

&lt;h2&gt;
  
  
  New Models
&lt;/h2&gt;

&lt;p&gt;OpenAI recently announced updates to their GPT-4 and GPT-3.5 Turbo models. GPT-4-0613 features an updated and improved model with function-calling capabilities. Meanwhile, GPT-4-32k-0613 has the same function-calling improvements as GPT-4-0613, along with an extended context length for better comprehension of larger texts.&lt;br&gt;
The updates are set to enable more people to try GPT-4, and OpenAI is inviting many more from the waitlist over the coming weeks, with the intent to remove the waitlist entirely with this model. Similarly, GPT-3.5-Turbo-0613 has added function calling and more reliable steerability with the system message.&lt;br&gt;
GPT-3.5-Turbo-16k features four times the context length of GPT-3.5-Turbo, at twice the price of 0.003 per 1K input tokens and0.003per1Kinputtokensand0.004 per 1K output tokens. This update means the model can now support ~20 pages of text in a single request.&lt;br&gt;
OpenAI will upgrade and deprecate the initial models of GPT-4 and GPT-3.5 Turbo that were announced in March. Applications using the stable model names will automatically be upgraded to the new models on June 27th. Developers can also use the older models until September 13th by specifying the appropriate model names in their API requests. OpenAI welcomes feedback from developers to ensure a smooth transition.&lt;br&gt;
In view of these updates, OpenAI's models are becoming more powerful and user-friendly, providing developers with exciting new capabilities to explore. From the improved function calling to the larger context length, these updates push the limits of natural language processing and put cutting-edge technology in the hands of developers worldwide.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lower Pricing
&lt;/h2&gt;

&lt;p&gt;OpenAI has recently announced a significant price reduction for its popular embeddings model, which has seen a 75% reduction in costs, down to $0.0001 per 1K tokens. This update is part of OpenAI's continuing efforts to make their systems more efficient and pass those savings on to developers.&lt;br&gt;
The popular chat model GPT-3.5 Turbo that powers ChatGPT for millions of users has also received a price reduction, with a 25% decrease in input token costs. Developers can now use this model for just $0.0015 per 1K input tokens and $0.002 per 1K output tokens. The 16k context version, GPT-3.5-Turbo-16k, is priced at 0.003 per 1K input tokens and0.003per1Kinputtokensand0.004 per 1K output tokens, enabling developers to leverage this powerful model for larger text processing.&lt;br&gt;
OpenAI values feedback from developers, and their suggestions are integral to the continued evolution of the platform. These latest updates are set to provide increased value and wider application opportunities for developers using OpenAI's models. With the lower pricing and other new features, OpenAI continues to be a leader in the natural language processing field.&lt;/p&gt;

&lt;h2&gt;
  
  
  GPT-4 model vs Chat Model (GPT-3.5-turbo)
&lt;/h2&gt;

&lt;p&gt;GPT-3.5-turbo stands out with its lower cost, sufficient performance for general applications, and lower resource requirements, making it ideal for those with budget constraints or operating in resource-constrained environments. However, its limited context window and less powerful function calling might not be suitable for advanced applications.&lt;br&gt;
On the other hand, GPT-4 offers enhanced function calling and a larger context window, which are beneficial for complex applications that require retaining extensive past information. However, it comes at a higher price point and requires greater computational resources. Choosing the right model for our needs can maximize benefits while staying within budget.&lt;/p&gt;

&lt;h2&gt;
  
  
  Model Deprecation
&lt;/h2&gt;

&lt;p&gt;A process of upgrading and deprecating the initial versions of gpt-4 and gpt-3.5-turbo has begun, which were announced in March. The stable model names, including gpt-3.5-turbo, gpt-4, and gpt-4-32k, will automatically be upgraded to new models on June 27th. To compare model performance between versions, our Evals library supports public and private evaluations to demonstrate how model changes will impact your use cases. &lt;br&gt;
If developers require more time to transition to the new models, they can still use the older models by specifying gpt-3.5-turbo-0301, gpt-4-0314, or gpt-4-32k-0314 in their API request. The older models will be available until September 13th, after which requests for those model names will be unsuccessful. To keep updated on model deprecations, you can visit our model deprecation page. As this is the first update to these models, we would appreciate developer feedback to ensure a smooth transition.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;OpenAI has released new models and features that will enable developers to build powerful applications. The reduced pricing is particularly appealing, as it allows for more experimentation with web apps while minimizing expenses. It will be interesting to see how other developers capitalize on these updates.&lt;br&gt;
Additionally, &lt;a href="https://apidog.com/articles/chatgpt-plugin-application-scenario/"&gt;the ChatGPT plugin&lt;/a&gt; is an AI-powered tool that can help you efficiently handle customer service, marketing, and other business tasks. This article will introduce several creative use cases to bring more value to your business.&lt;/p&gt;

</description>
      <category>openai</category>
      <category>webdev</category>
      <category>discuss</category>
      <category>ai</category>
    </item>
    <item>
      <title>Fix Postman Collection Limits for Free🚀</title>
      <dc:creator>jasonchan</dc:creator>
      <pubDate>Mon, 19 Jun 2023 04:26:23 +0000</pubDate>
      <link>https://forem.com/jasonchan/fix-postman-collection-limits-for-free-5dd6</link>
      <guid>https://forem.com/jasonchan/fix-postman-collection-limits-for-free-5dd6</guid>
      <description>&lt;p&gt;If you're an avid user of Postman for API testing, you may have encountered a frustrating issue where you hit the limit for running collections. Once you've reached the limit, you'll be prompted with a message that says "You have exhausted all the runs. To keep running collections, create an account..." This can be a real hindrance to your workflow, especially if you're working on a large project or team.&lt;br&gt;
Fortunately, there are some workarounds that you can use to bypass this limitation and keep running your collections smoothly.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Postman Collection
&lt;/h2&gt;

&lt;p&gt;A Postman Collection is a group of requests that can be saved and shared with other users. It allows developers to organize, document, and&lt;a href="https://apidog.com/blog/test-api-with-postman/"&gt; automate their API testing &lt;/a&gt;workflows in a single location. In a Postman Collection, you can include requests, tests, and scripts, making it easy to share API workflows with team members or collaborators.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I_BGBx4z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j8zv8a4sg5xsovpj9tmr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I_BGBx4z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j8zv8a4sg5xsovpj9tmr.png" alt="Image description" width="800" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Postman Collection also allows for creating custom variables, which can be used to parameterize requests and responses, enabling developers to create dynamic API tests. By using a Postman Collection, developers can streamline their API testing processes and improve their overall efficiency.&lt;/p&gt;

&lt;h2&gt;
  
  
  Postman Collection Limitation
&lt;/h2&gt;

&lt;p&gt;The Postman Collection Run limit refers to the number of times a collection can be executed within a given time period. This limit is imposed to prevent abuse of the Postman API and to ensure that the service remains stable for all users.&lt;br&gt;
To better align with the value Postman’s test automation offers for professional testers and quality engineers, Postman made the following changes effective February 15, 2023, for free customers, and effective March 15, 2023, for new paid plan customers. Existing paid plan customers saw these limits effective upon plan renewal after March 15, 2023 (except Enterprise users, who have unlimited runs per month):&lt;/p&gt;

&lt;p&gt;Local Collection Runner: Runs will be available with Free and Basic plans at 25 runs per month, Professional plan at 250 runs per month, and Enterprise plan at unlimited runs per month.&lt;br&gt;
It's important to note that the Collection Run limit applies to all collections within an account and not just individual collections. Therefore, users with multiple collections that need frequent running may need to upgrade to a higher Postman plan to avoid hitting the Collection Run limit.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Fix Postman Collection Runner Restrictions?
&lt;/h2&gt;

&lt;p&gt;Many loyal users are expressing frustration with Postman's recent changes to its pricing plan. Some are calling for Postman to reconsider the changes, while others are exploring Postman alternative tools like Apidog that offer more flexibility without any restrictions on the number of runs.&lt;br&gt;
Apidog is a powerful testing tool that overcomes the Collection Run limit in Postman. It offers a robust testing framework and automation features, real-time feedback, and comprehensive test reports, as well as easy integration with other testing tools. Apidog enables developers to efficiently create, test, and manage APIs without restrictions, resulting in a more productive development process.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Best Solution: Importing Postman into Apidog (Free &amp;amp; Best)
&lt;/h2&gt;

&lt;p&gt;If you are also experiencing the Postman Collection Run limit, here is a sincere recommendation for the best solution. Importing collections from Postman to Apidog may seem like a challenge to you, especially for those who have been using Postman for a long time. &lt;br&gt;
However, it is important to remember that there are more advantages to using Apidog than Postman. Apidog provides a more comprehensive testing platform, simplifies the checking process, and makes it easier for developers to identify and resolve issues. Next, you will get a handy guide to quickly importing Postman collections into Apidog.&lt;br&gt;
**Step 1: Export Your Postman Collection&lt;br&gt;
**First, you can use your Postman collections in a different program by exporting them. By selecting the desired collection and clicking the "Export" option, you can seamlessly transfer the collection from Postman to Apidog, as shown in the screenshot below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TZ--pefN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vz4gmtsdmqmfdvewtqne.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TZ--pefN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vz4gmtsdmqmfdvewtqne.jpg" alt="Image description" width="800" height="377"&gt;&lt;/a&gt;&lt;br&gt;
In this step, it is recommended that you select the second option, Collection v2.1. This is because if you export the file in the Collection v2.1 format, all queries, directories, and details about your environment will be included in the file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OdZrdG7b--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b0rqw2oeforuwu3nnihh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OdZrdG7b--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b0rqw2oeforuwu3nnihh.jpg" alt="Image description" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In addition, the exported file will include any request-specific information you may have, such as logs, query parameters, and content. Selecting the Collection v2.1 format, clicking Export, and saving the file to your computer are all necessary steps.&lt;/p&gt;

&lt;p&gt;**Step 2: Import Collection in Apidog&lt;br&gt;
**Log in to Apidog,  and import the exported file as shown in the picture, select "Settings" from the left menu and then select "Import".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--70HOXxO1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pbfpvrsjeve3t0m3ng79.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--70HOXxO1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pbfpvrsjeve3t0m3ng79.png" alt="Image description" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select "Postman" and upload file from downloads. Upload output data source from Postman. Click “Confirm” button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N_uAKTA5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fqjk047m49p25081j2az.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N_uAKTA5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fqjk047m49p25081j2az.jpg" alt="Image description" width="800" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After a few simple steps above, you can now see and control the collections you have imported in Apidog. Adding, updating and deleting requests is easy. You can also group requests into folders.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wkVJ8X8I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/27c2rzjbwm986c2z2f0b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wkVJ8X8I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/27c2rzjbwm986c2z2f0b.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;**Step 3: Review Collection and Update &lt;br&gt;
**Collaboration and content management within teams become more efficient when using Apidog. It allows for discussions, additions, and modifications to the collection, making it ideal for large projects with multiple participants. This streamlined process accelerates development and ensures data consistency among team members.&lt;br&gt;
Additionally, Apidog's version control feature provides a reliable backup and facilitates easy switching between different collection versions. With Apidog, you can conveniently edit and update API information, as depicted in the image below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--h6qtbVVx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q3kol5mcto8duaollauv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--h6qtbVVx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q3kol5mcto8duaollauv.jpg" alt="Image description" width="800" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;**Step 4: Test Your Collection&lt;br&gt;
**After importing the collection into Apidog, you can perform other operations, such as testing&lt;br&gt;
Test your collection with different data inputs, authentication techniques, and API versions. Ensure proper error handling in the "Testing environment" section. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Nb0-EXay--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wd8pialx8r5aqppfh0at.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Nb0-EXay--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wd8pialx8r5aqppfh0at.jpg" alt="Image description" width="800" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Access test results in Apidog's "Test Reports" section.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FHSTW5-A--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/test-reports.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FHSTW5-A--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/test-reports.png" alt="Image description" width="" height=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sNH4zDBl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sbrospzvj05gg3nhbcm6.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sNH4zDBl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sbrospzvj05gg3nhbcm6.jpg" alt="Image description" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;**Step 5: Deploy Your Collection&lt;br&gt;
**After testing, use the "Run" button to publish your data to the API. Deploy your API to testing, development, or production environments. Utilize cloud platforms like Google Cloud Platform, Microsoft Azure, or Amazon Web Services (AWS) for scalability and reliability. Maintain an up-to-date API using a CI/CD pipeline.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NIfVekr3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/deploy-your-collection.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NIfVekr3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/deploy-your-collection.png" alt="Image description" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With Apidog, you can collaborate, simulate API requests, and troubleshoot efficiently for faster development. These features improve communication, streamline workflows, and ensure reliable and scalable APIs.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>testing</category>
      <category>api</category>
    </item>
  </channel>
</rss>
