Curso RESTful API Design, Development, and Testing using Insomnia
16 horasVisão Geral
Este Curso RESTful API Design, Development, and Testing using Insomnia, Insomnia ensina aos participantes os fundamentos do desenvolvimento e teste de APIs. A aula se concentra no design de APIs RESTful JSON usando OpenAPI 3 para documentação e geração de código e testes via Insomnia GUI e CLI. Observação: este curso usa o aplicativo e a CLI da Insomnia instalados via npm. Uma conta GitHub é opcional, mas incentivada.
Objetivo
Após realizar este Curso RESTful API Design, Development, and Testing using Insomnia, você será capaz de:
- Entenda o estilo arquitetônico REST e suas motivações
- Implementar design de especificação OpenAPI
- Utilize o Modelo de Maturidade de Richardson para discutir escolhas de design e propriedades induzidas
- Use o Insomnia para design, depuração e teste de API
- Entenda a representação JSON dos dados do objeto
- Incorpore abordagens de gerenciamento de API
- Implemente estratégias automatizadas de teste de CI/CD
- Pense em APIs REST versus dados vinculados, modelos RPC e GraphQL
Pre-Requisitos
- Além do desenvolvimento orientado a objetos ou experiência em arquitetura, nenhum conhecimento prévio é presumido.
Materiais
Inglês + Exercícios + Lab PraticoConteúdo Programatico
Introduction
- REST API overview
- Previous API Concepts
JSON
- Concepts of REST
- HTTP
- Nouns/Verbs
Designing an API
- Swagger
- Sections of Specification
OpenAPI Spec
- Info
- Servers
API Concepts
Richardson Maturity Model
- Levels
- Hypermedia
Development and Testing
- C# and other examples
- Tools Available
Development Standards
OpenAPI Contract
- Paths
- Operations
Automated Testing
- Chai Assertion Library
- Insomnia CLI
- Test Suites
Versioning
- URL
- Header
- Both
Security
- Authentication
- Authorization
- JWT
Parameters
- Path
- Query String
- Header
- Cookie
- Serialization
Request Bodies
Responses
Components
CI/CD Testing
- Principles
- Best Practices
- Integration & Security Testing
Using Insomnia for CI/CD Testing
- CLI
- Github Actions