📝 Como Criar Documentação em .NET com TypeSpec

A documentação de APIs e contratos de serviços é parte essencial no desenvolvimento moderno com .NET. Com o crescimento de arquiteturas baseadas em microsserviços, sistemas distribuídos e APIs públicas, garantir que os contratos sejam bem definidos e v…


This content originally appeared on DEV Community and was authored by Danilo O. Pinheiro, dopme.io

A documentação de APIs e contratos de serviços é parte essencial no desenvolvimento moderno com .NET. Com o crescimento de arquiteturas baseadas em microsserviços, sistemas distribuídos e APIs públicas, garantir que os contratos sejam bem definidos e versionados é fundamental.

O TypeSpec (anteriormente conhecido como CADL – Composable API Definition Language) surge como uma ferramenta poderosa da Microsoft para definir contratos de API de forma declarativa e gerar documentação, OpenAPI e até mesmo código de cliente/servidor de forma consistente.

🚀 O que é o TypeSpec?

TypeSpec é uma linguagem DSL (Domain Specific Language) criada para descrever APIs, contratos e modelos de dados em alto nível, que depois podem ser compilados para:

  • Documentação (Markdown/HTML)
  • OpenAPI (Swagger)
  • Especificações REST, gRPC e GraphQL
  • Código para .NET, TypeScript, etc.

🧰 Por que usar TypeSpec em projetos .NET?

  • Separa contrato da implementação: favorece governança de APIs.
  • 🔁 Geração automática de OpenAPI e SDKs.
  • 📦 Facilita integração entre times e documenta versões.
  • 🧪 Integra com ferramentas modernas de teste e CI/CD.

📦 Instalando o TypeSpec

Você pode instalar com:

npm install -g @typespec/compiler

Verifique se o tsp está disponível:

tsp --version

🏗️ Criando seu primeiro projeto TypeSpec

tsp init my-api
cd my-api

Isso criará uma estrutura de projeto com o arquivo principal main.tsp.

✍️ Exemplo de contrato TypeSpec

@service({ title: "Minha API", version: "1.0.0" })
namespace MinhaApi;

model Usuario {
  id: string;
  nome: string;
  email: string;
}

@route("/usuarios")
interface UsuarioService {
  @get
  listar(): Usuario[];

  @post
  criar(@body novo: Usuario): Usuario;
}

⚙️ Gerando documentação e OpenAPI

Compile o contrato:

tsp compile main.tsp --emit @typespec/openapi3

Isso gerará o arquivo openapi.yaml.

Você também pode gerar documentação com o plugin:

tsp compile main.tsp --emit @typespec/html

E acessar o HTML de documentação gerado.

🤝 Integração com .NET

Com o OpenAPI gerado, use o NSwag ou o AutoRest para gerar clientes/schemas C#.

Exemplo com NSwag:

nswag openapi2csclient /input:openapi.yaml /output:ClienteGerado.cs

💡 Boas práticas com TypeSpec

  • Use @useDependency para importar modelos comuns.
  • Estruture contratos por domínio.
  • Combine com versionamento (@versioned).
  • Gere pipelines automáticas no CI para validar breaking changes.

🧪 Testes e Governança

Com TypeSpec, é possível:

  • Validar consistência de contratos antes de deploy.
  • Integrar com testes de contrato.
  • Automatizar publicação de documentação.

✅ Conclusão

O TypeSpec representa uma nova forma de projetar e manter contratos de APIs, trazendo clareza, reuso e automação ao ecossistema .NET moderno.

Ele separa preocupações, reduz bugs de integração e acelera o desenvolvimento colaborativo entre times.

🤝 Conecte-se Comigo

Se você trabalha com .NET moderno e quer dominar arquitetura, C#, DevOps ou interoperabilidade, vamos conversar:

Que farei, pois? Orarei com o espírito, mas também orarei com o entendimento; cantarei com o espírito, mas também cantarei com o entendimento.
1 Coríntios 14:15


This content originally appeared on DEV Community and was authored by Danilo O. Pinheiro, dopme.io


Print Share Comment Cite Upload Translate Updates
APA

Danilo O. Pinheiro, dopme.io | Sciencx (2025-08-06T14:59:47+00:00) 📝 Como Criar Documentação em .NET com TypeSpec. Retrieved from https://www.scien.cx/2025/08/06/%f0%9f%93%9d-como-criar-documentacao-em-net-com-typespec/

MLA
" » 📝 Como Criar Documentação em .NET com TypeSpec." Danilo O. Pinheiro, dopme.io | Sciencx - Wednesday August 6, 2025, https://www.scien.cx/2025/08/06/%f0%9f%93%9d-como-criar-documentacao-em-net-com-typespec/
HARVARD
Danilo O. Pinheiro, dopme.io | Sciencx Wednesday August 6, 2025 » 📝 Como Criar Documentação em .NET com TypeSpec., viewed ,<https://www.scien.cx/2025/08/06/%f0%9f%93%9d-como-criar-documentacao-em-net-com-typespec/>
VANCOUVER
Danilo O. Pinheiro, dopme.io | Sciencx - » 📝 Como Criar Documentação em .NET com TypeSpec. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/08/06/%f0%9f%93%9d-como-criar-documentacao-em-net-com-typespec/
CHICAGO
" » 📝 Como Criar Documentação em .NET com TypeSpec." Danilo O. Pinheiro, dopme.io | Sciencx - Accessed . https://www.scien.cx/2025/08/06/%f0%9f%93%9d-como-criar-documentacao-em-net-com-typespec/
IEEE
" » 📝 Como Criar Documentação em .NET com TypeSpec." Danilo O. Pinheiro, dopme.io | Sciencx [Online]. Available: https://www.scien.cx/2025/08/06/%f0%9f%93%9d-como-criar-documentacao-em-net-com-typespec/. [Accessed: ]
rf:citation
» 📝 Como Criar Documentação em .NET com TypeSpec | Danilo O. Pinheiro, dopme.io | Sciencx | https://www.scien.cx/2025/08/06/%f0%9f%93%9d-como-criar-documentacao-em-net-com-typespec/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.