IMPROVE /renner

This commit is contained in:
Julian
2021-12-11 18:13:01 +01:00
parent 53fa07ba04
commit 03badebb10
2 changed files with 2015 additions and 12 deletions

2003
Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,13 @@
use actix_web::{get, post, web, App, HttpResponse, HttpServer, Responder}; use actix_web::{get, post, web, App, HttpResponse, HttpServer, Responder};
use sqlx::MssqlPool; use sqlx::{MssqlPool, Row, Pool, Mssql};
use sqlx::mssql::MssqlRow;
use sqlx::Row;
use sqlx::Column;
use sqlx::TypeInfo;
use std::sync::Mutex; use std::sync::Mutex;
use sqlx::Pool; use serde::Serialize;
use sqlx::Mssql;
#[derive(Serialize, sqlx::FromRow)]
struct Gerbil
{
name: String
}
#[get("/")] #[get("/")]
async fn hello() -> impl Responder { async fn hello() -> impl Responder {
@@ -15,13 +16,12 @@ async fn hello() -> impl Responder {
#[get("/renner")] #[get("/renner")]
async fn renner(data: web::Data<Mutex<Pool<Mssql>>>) -> impl Responder { async fn renner(data: web::Data<Mutex<Pool<Mssql>>>) -> impl Responder {
let mut data = data.lock().unwrap(); let data = data.lock().unwrap();
let rows = sqlx::query("SELECT * FROM renner") let rows = sqlx::query_as::<_,Gerbil>("SELECT name FROM renner")
.fetch_optional(&(*data)) .fetch_all(&(*data))
.await .await
.expect("no connection to database"); .expect("no connection to database");
let res : String = rows.unwrap().try_get("Name").unwrap(); HttpResponse::Ok().json(rows)
HttpResponse::Ok().body(res)
} }
#[post("/echo")] #[post("/echo")]