Rust 未设置内容类型text/html

Rust 未设置内容类型text/html,rust,content-type,Rust,Content Type,我正在使用Rust Rocket框架生成一个简单的网页 当转到索引页“/”时: 但是我的浏览器告诉我内容类型是文本/普通 如何让Rocket正确响应text/html。我是做错了什么还是做了Rocket?默认情况下,Rocket将以text/plain响应,因此您必须使用它提供的内容模块覆盖它 您可以这样使用响应者: use rocket::response::content; #[get("/")] fn page_index() -> content::Html<&'s

我正在使用Rust Rocket框架生成一个简单的网页

当转到索引页“/”时:

但是我的浏览器告诉我内容类型是文本/普通


如何让Rocket正确响应text/html。我是做错了什么还是做了Rocket?

默认情况下,Rocket将以text/plain响应,因此您必须使用它提供的内容模块覆盖它

您可以这样使用响应者:

use rocket::response::content;

#[get("/")]
fn page_index() -> content::Html<&'static str> {
    content::Html(r#"
        <title>GCD Calculator</title>
        <form action="/gcd" method="post">
            <input type="text" name="n" />
            <input type="text" name="n" />
            <button type="submit">Compute GCD</button>
        </form>
    "#)
}

使用rocket::response::content;
#[获取(“/”)]
fn page_index()->content::Html解释了如何设置响应的内容类型。特别是,您需要:


使用rocket::response::content::Html;
#[获取(“/”)]

fn page_index()->Html
使用rocket::response::content::Html非常有效。我仍然想知道为什么火箭控制台告诉我
“GET/text/html”
,但却向我发送
“text/plain”
。哦,“text/html”来自请求中的Accept头,指示浏览器期望的类型。它只会影响使用时实际发送的内容。
GET / text/html:
=> Matched: GET /
=> Outcome: Success
=> Response succeeded.
use rocket::response::content;

#[get("/")]
fn page_index() -> content::Html<&'static str> {
    content::Html(r#"
        <title>GCD Calculator</title>
        <form action="/gcd" method="post">
            <input type="text" name="n" />
            <input type="text" name="n" />
            <button type="submit">Compute GCD</button>
        </form>
    "#)
}
use rocket::response::content::Html;
#[get("/")]
fn page_index() -> Html<&'static str> {
    Html(r"<html>...</html>")
}