From 8316a35e9e80302183095676f8e49734ca991aba Mon Sep 17 00:00:00 2001 From: Lukian Date: Thu, 5 Dec 2024 23:38:43 +0100 Subject: [PATCH] Added json usage --- back/Cargo.toml | 3 +++ back/src/main.rs | 53 +++++++++++++++++++++++++++++++++--------------- 2 files changed, 40 insertions(+), 16 deletions(-) diff --git a/back/Cargo.toml b/back/Cargo.toml index 9a70ea3..731f030 100644 --- a/back/Cargo.toml +++ b/back/Cargo.toml @@ -7,3 +7,6 @@ edition = "2021" actix-files = "0.6.6" actix-web = "4" sqlite = "0.36.1" +serde = "1.0.215" +serde_json = "1.0.133" + diff --git a/back/src/main.rs b/back/src/main.rs index f17e20c..a91bc15 100644 --- a/back/src/main.rs +++ b/back/src/main.rs @@ -1,22 +1,8 @@ -use actix_web::{get, http, post, web, App, HttpResponse, HttpServer, Responder}; +use actix_web::{App, HttpServer, get, Responder, HttpResponse, http::header::ContentType}; use actix_files::Files; +use serde_json::json; use sqlite::{Connection, State, Error}; -#[actix_web::main] -async fn main() -> Result<(), std::io::Error> { - let conn = Connection::open("./data/data.db"); - - HttpServer::new(|| { - App::new() - .service(hello) - .service(get_articles) - .service(Files::new("/", "./public").index_file("index.html")) - }) - .bind(("0.0.0.0", 8080))? - .run() - .await -} - #[get("/api/hello")] async fn hello() -> impl Responder { HttpResponse::Ok().body("Hello world!") @@ -38,3 +24,38 @@ async fn get_articles() -> impl Responder { HttpResponse::Ok().json(articles) } + +#[get("/api")] +async fn api() -> impl Responder { + let value = json!({ + "code": 200, + "success": true, + "payload": { + "features": [ + "serde", + "json" + ], + "homepage": null + } + }); + HttpResponse::Ok() + .content_type(ContentType::json()) + .body(value.to_string()) +} + +#[actix_web::main] +async fn main() -> Result<(), std::io::Error> { + let conn = Connection::open("./data/data.db"); + + HttpServer::new(|| { + App::new() + .service(hello) + .service(get_articles) + .service(api) + .service(Files::new("/", "public").index_file("index.html")) + }) + .bind(("0.0.0.0", 8080))? + .run() + .await +} +