// use actix_web::{Error, HttpRequest, HttpResponse, Responder}; use serde::Serialize; use futures::future::{ready, Ready}; #[derive(Serialize)] struct MyObj { name: &'static str, } // Responder impl Responder for MyObj { type Error = Error; type Future = Ready>; fn respond_to(self, _req: &HttpRequest) -> Self::Future { let body = serde_json::to_string(&self).unwrap(); // Create response and set content type ready(Ok(HttpResponse::Ok() .content_type("application/json") .body(body))) } } async fn index() -> impl Responder { MyObj { name: "user" } } // #[actix_rt::main] async fn main() -> std::io::Result<()> { use actix_web::{web, App, HttpServer}; HttpServer::new(|| App::new().route("/", web::get().to(index))) .bind("127.0.0.1:8088")? .run() .await }