Not sure what happened exactly… it was working fine and I didn’t change anything in this file. It has to be related to something I did recently:
- Ran a migration adding a unique constraint on a table
- Generated two new entities of a couple very basic tables.
The handler I’m using isn’t even using the new tables, so I don’t know why this randomly broke. Anyone have any ideas? Or even some guidance on how to decipher that obscure error would be helpful.
Have you tried using the
#[debug_handler]
macro onget_all_armies
? Without that macro handler errors don’t tell you much more than “something isn’t right”.Generally this kind of error indicates some type in the handler signature doesn’t implement a necessary trait. Maybe you accidentally lost an automatically-derived trait like
Send + Sync
? The macro is the easiest way to check.Oh man, I didn’t know debug_handler existed. Sure enough I had a missing derived attribute… not sure how but Serde serialize and deserialize were missing, so when I was trying to return Ok(Json(army)) it was failing. Thanks so much!
You’re welcome!
Try using https://docs.rs/axum-macros/latest/axum_macros/attr.debug_handler.html
It should provide a better error message.
That looks like a Extension/State mismatch to me. Do your function arguments line up with any extensions or state you are bringing in?
Thanks for the reply! I don’t know what you mean by extensions, but the state is literally just the DB connection:
struct AppState { conn: DatabaseConnection, }