tauri-plugin-axum

Install
cargo add tauri-plugin-axum
pnpm i @mcitem/tauri-plugin-axum
{
"permissions": ["axum:default"]
}
Example
#[derive(Serialize, Deserialize)]
struct Greet {
axum: String,
tauri: String,
}
async fn post_handle(Json(j): Json<Greet>) -> Json<Greet> {
Json(Greet {
axum: format!("axum, {}!", j.axum),
tauri: format!("tauri, {}!", j.tauri),
})
}
tauri::Builder::default()
.plugin(tauri_plugin_axum::init(
Router::new()
.route("/", routing::get(|| async { "Hello, World!" }))
.route("/post", routing::post(post_handle))
))
import { axum } from "@mcitem/tauri-plugin-axum";
axum.get<string>("/").then((response) => {
console.log(response.body); // "Hello, World!"
});
axum.post<{ axum: string; tauri: string }>("/post", {
axum: "hello axum",
tauri: "hello tauri",
});
import { fetch } from "@mcitem/tauri-plugin-axum/fetch";
fetch("/", { method: "GET" })
.then((res) => res.text())
.then((res) => {
console.log(res);
});
import axios from "axios";
import { Adapter } from "@mcitem/tauri-plugin-axum/axios";
const instance = axios.create({
adapter: Adapter,
});
Run Example
git clone https://github.com/mcitem/tauri-plugin-axum
cd tauri-plugin-axum
pnpm install
pnpm build
pnpm --filter tauri-app install
pnpm --filter tauri-app tauri dev