-1

我正在使用 Rocket Web 框架,我需要创建一个具有通用参数类型参数的函数:

use rocket_contrib::json::{Json, JsonValue};

fn bluid_succes_response<T>(data: T) ->  JsonValue  { 
    json!(data) 
}

这是我遇到的错误:

the trait `dataStructures::parameters_structures::_::_serde::Serialize` is not implemented for `T`

如何Serialize为泛型类型实现特征,T或者是否有另一种方法来解决问题?

4

1 回答 1

1

您需要将泛型类型限制T为特征(Serialize在本例中):

use rocket_contrib::json::{Json, JsonValue};

fn bluid_succes_response<T: serde::Serialize>(data: T) ->  JsonValue  { 
    json!(data) 
}
于 2020-11-10T15:37:53.637 回答