typestar

Respuestas JSON tipadas en Rust

Pide JSON y reqwest deserializa directo en tu tipo.

use serde::Deserialize;

#[derive(Debug, Deserialize)]
struct Health {
    status: String,
    #[serde(default)]
    version: String,
}

#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
    let health: Health = reqwest::get("https://typestar.io/api/health")
        .await?
        .json()
        .await?;

    println!("{} {}", health.status, health.version);
    Ok(())
}

Cómo funciona

  1. json::<T>() necesita que T implemente Deserialize.
  2. La anotación de tipo es la que elige el modelo.
  3. Una forma que no calza aflora como error de reqwest.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
19
Caracteres a escribir
340
Tokens
87
Ritmo de tres estrellas
110 tpm

Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 47 segundos.

Escribe este fragmento

Paso 2 de 5 en Peticiones con reqwest; paso 8 de 12 en Herramientas CLI y clientes HTTP.

← Anterior Siguiente →