Bibliotecas da API Lingara
Esta página é uma tradução do inglês. Se as duas diferirem, a página em inglês é a correta. Ler a página em inglês
As bibliotecas da API Lingara chamam a mesma API que a referência descreve, na linguagem em que já escreve. Cada uma é gerada a partir da mesma especificação e mantém o mesmo contrato, pelo que o que aprende numa aplica-se às outras:
- Autenticação. Fornece ao cliente o seu ID de cliente e o seu segredo uma única vez. O cliente troca-os por um token de acesso, guarda-o em cache, renova-o pouco antes de expirar e repete uma chamada uma vez com um token novo se a API responder 401.
- Streams. As operações que transmitem em stream, como gerar vocabulário, chegam sob a forma do iterador próprio da linguagem. A biblioteca analisa os eventos e termina a iteração quando o stream acaba.
- Erros. Qualquer falha é um de quatro erros com um tipo base comum, pelo que um único handler consegue apanhá-los todos.
- Novas tentativas. Um 429 ou 503 que indique quanto tempo esperar é repetido por si, até um limite. Tudo o resto é lançado de imediato.
Cada exemplo de código destas páginas provém de uma versão publicada das bibliotecas, onde é compilado e testado antes de ser lançado.
Instalação
Escolha a sua linguagem abaixo. Cada linguagem tem a sua própria página com uma primeira chamada, e as páginas em Utilizar as bibliotecas explicam cada comportamento em mais pormenor.
TypeScript
npm install @lingara/api@0.1.0-alpha.6Rust
cargo add lingara@0.1.0-alpha.6
cargo add tokio --features macros,rt-multi-threadGo
go get github.com/Spinning-Cat-Studios/lingara_api_clients/go@v0.1.0-alpha.6Java
<dependency>
<groupId>com.getlingara</groupId>
<artifactId>lingara-java</artifactId>
<version>0.1.0-alpha.6</version>
</dependency>Kotlin
implementation("com.getlingara:lingara-kotlin:0.1.0-alpha.6")Ruby
gem install lingara -v 0.1.0-alpha.6PHP
composer require spinningcatstudios/lingara:0.1.0-alpha.6Linguagens
- TypeScript
A biblioteca da API Lingara para Node.js, publicada no npm.
- Rust
A biblioteca da API Lingara para Rust assíncrono, publicada no crates.io.
- Go
A biblioteca da API Lingara para Go, um módulo sem dependências fora da biblioteca padrão.
- Java
A biblioteca da API Lingara para Java 17 e versões posteriores, publicada no Maven Central.
- Kotlin
A biblioteca da API Lingara para Kotlin na JVM, construída sobre corrotinas.
- Ruby
A biblioteca da API Lingara para Ruby, uma gem sem dependências de runtime.
- PHP
A biblioteca da API Lingara para PHP 8.2 e versões posteriores, publicada no Packagist.
Usar as bibliotecas
- Autenticação
Como cada biblioteca transforma o seu ID de cliente e o seu segredo em tokens de acesso, e os mantém atualizados.
- Streams
Como as bibliotecas entregam resultados em stream, e quando um stream termina ou falha.
- Erros e novas tentativas
Os quatro erros que cada biblioteca lança, e que falhas repete por si.