Mini-Projeto: API de Saudação Moderna 🌐
Vamos construir seu primeiro servidor web usando o Rust, focando em rotas dinâmicas e retorno de dados em JSON.
📋 Requisitos
- Framework: Use o
actix-web. - Rotas:
GET /: Retorna um "Bem-vindo!" em texto simples.GET /saudacao/{nome}: Retorna um JSON{"mensagem": "Olá, {nome}!"}.
- Serialização: Use a crate
serdepara gerar o JSON automaticamente.
🚀 Guia de Execução
- Adicione as dependências:
- Implementação sugerida:
use actix_web::{get, web, App, HttpServer, Responder, HttpResponse}; use serde::Serialize; #[derive(Serialize)] struct Resposta { mensagem: String, } #[get("/")] async fn index() -> impl Responder { HttpResponse::Ok().body("Bem-vindo à API Rust!") } #[get("/saudacao/{nome}")] async fn saudar(nome: web::Path<String>) -> impl Responder { let resposta = Resposta { mensagem: format!("Olá, {}!", nome), }; HttpResponse::Ok().json(resposta) } #[actix_web::main] async fn main() -> std::io::Result<()> { println!("Servidor rodando em http://localhost:8080"); HttpServer::new(|| { App::new() .service(index) .service(saudar) }) .bind("127.0.0.1:8080")? .run() .await }
✅ Critérios de Aceite
- [ ] O servidor inicia corretamente e responde na porta 8080.
- [ ] A rota de saudação retorna um JSON bem formatado.
- [ ] O código utiliza
async/awaite o atributo#[actix_web::main].