actix / actix/actix-web

Simplify type for actix_web::App?

Aperta
#1,402 4 commenti 6 reazioni 0 assegnatari Vedi su GitHub
A-web C-improvement
Lingua principale
Rust
Stelle
24.8k
Fork
1.9k
Merge medio
23h 10m
PR unite (30g)
26

Descrizione

I'm trying to write a function that builds my app, that way it can be reused between my `main` function and my tests. Unfortunate, the type parameters for `actix_web::App` or the `IntoServiceFactory` traits are incredibly verbose. Ideally doing something like this would be straightforward:

```rust
fn create_app() -> actix_web::App {
let templates = tera::Tera::new("templates/*").unwrap();
actix_web::App::new()
.data(AppState { templates })
.route("/", actix_web::web::get().to(index))
.route("/tool/", actix_web::web::post().to(tool))
}
```

I think the right solution might be a type alias that would let you do `-> impl Something`, but I'm open to suggestions on what the right way to handle this ergonomic issue are.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Confronta la forma desiderata `fn create_app() -> actix_web::App` con le API attuali di `actix_web::App` e `IntoServiceFactory`, usando come punto di partenza l’esempio di builder condiviso nell’issue. Il lavoro è completato quando un approccio ergonomico concordato consente di riutilizzare l’app builder tra `main` e i test senza richiedere parametri di tipo prolissi, preservando le route mostrate.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust
Ambito
backend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.