From 99240ef0006ab150ed4211de09b66d3d3163663a Mon Sep 17 00:00:00 2001 From: Nils Loewen <26473489+nilswloewen@users.noreply.github.com> Date: Fri, 26 Dec 2025 06:37:57 -0800 Subject: [PATCH] Issue: 5138 Fix HotDog img URL (#5139) * Issue: 5138 Fix HotDog img URL * Use serde instead of json::Value --------- Co-authored-by: Nils Loewen Co-authored-by: Evan Almloff --- examples/01-app-demos/hotdog/src/frontend.rs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/examples/01-app-demos/hotdog/src/frontend.rs b/examples/01-app-demos/hotdog/src/frontend.rs index 1117fa30c..be20e8224 100644 --- a/examples/01-app-demos/hotdog/src/frontend.rs +++ b/examples/01-app-demos/hotdog/src/frontend.rs @@ -1,4 +1,5 @@ use dioxus::prelude::*; +use serde::{Deserialize, Serialize}; use crate::{ backend::{list_dogs, remove_dog, save_dog}, @@ -42,13 +43,17 @@ pub fn NavBar() -> Element { #[component] pub fn DogView() -> Element { let mut img_src = use_loader(|| async move { - dioxus::Ok( - reqwest::get("https://dog.ceo/api/breeds/image/random") - .await? - .json::() - .await?["message"] - .to_string(), - ) + #[derive(Deserialize, Serialize, Debug, PartialEq)] + struct DogApi { + message: String, + } + let json = reqwest::get("https://dog.ceo/api/breeds/image/random") + .await? + .json::() + .await?; + let url = json.message; + + dioxus::Ok(url) })?; rsx! {